Ich möchte eine umfangreiche Reihe von Zeilen in Excel filtern und ihre Werte kopieren, ohne dass der Filter in Excel ausgeführt wird, nur in VB-Code ohne visuelle Aktion in Excel. Dieses Verfahren ist sehr langsam, ich will eine flexiblere Alternative:Filtern von Excel-Zeilen im ausgeblendeten Modus (VB-Code)
'
xlSheet.Range("A1:Z100000").AutoFilter(1, "Criteria", , , False)
xlSheet.Range("C1:F100000").Copy()
xlSheet2.Range("A1").PasteSpecial(Paste:=XlPasteType.xlPasteValues, Operation:=XlPasteSpecialOperation.xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False)
Application.CutCopyMode = CType(False, XlCutCopyMode)
xlSheet.Range("A1:Z100000").AutoFilter(False)
'
Irgendwelche Vorschläge? Vielen Dank !
Vorschläge: 1) Verwenden Sie ActiveX Data Object (ADO), siehe [Verwenden von ADO zum Abfragen einer Excel-Tabelle] (https://technet.microsoft.com/de-de/library/ee692882 .aspx). 2) Verwenden Sie den erweiterten Filter von Excel. 3) Bestimmen Sie die Zeilenanzahl mit COUNTIF(), resimieren Sie das resultierende Array, füllen Sie das resultierende Array zeilenweise, fügen Sie das resultierende Array ein. –