Ich habe Probleme beim Kopieren und Verschieben von gefilterten Daten auf ein neues Blatt für die weitere Auswertung. Das Ziel besteht darin, eine ActiveX-Textbox und eine Befehlsschaltfläche auf Blatt1 zu verwenden, um Daten auf Blatt2 (Daten) zu filtern und die Ergebnisse auf Blatt3 (Berechnung) zu kopieren. Hier ist der Code Ich arbeite mit:Kopie der gefilterten Daten von ActiveX-Steuerelement in verschiedenen Blatt
Private Sub CommandButton1_Click()
Sheets("Data").Range("C2").Value = TextBox1.Text
Worksheets("Data").Select
ActiveSheet.ListObjects("Table1").Range.AutoFilter _
field:=21, Criteria1:="=*" & TextBox1.Text & "*"
Range("Table1[[#Headers],[Comp Date]]").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Calculation").Select
ActiveSheet.Paste
End Sub
Wenn ich diesen Code auf dem Modul laufen für sheet1, erhalte ich eine „Methode‚Range‘des Objekts‚_Worksheet‘ist fehlgeschlagen“ Fehlermeldung. Wenn ich jedoch das Codebeispiel für den Kopier- und Einfüge-Task nehme und es in das Modul für Blatt2 lege, das durch eine zweite Befehlsschaltfläche initiiert wurde, funktioniert es einwandfrei. Ich möchte sowohl den Filter als auch das Kopieren und Einfügen mit nur einem Knopfdruck durchführen, wenn dies möglich ist. Kann mir jemand helfen, wo ich falsch liege?
Alle Ihre unqualifizierte 'Range' Anrufe auf das Blatt verweist den Code enthält. Versuchen Sie, alle Spalten aus der Tabelle oder nur einige davon zu kopieren? – Rory
Also müsste ich ein Callout wie "Sheets (" Data ") hinzufügen." vor jedem unqualifizierten Bereich? Ich versuche alle Spalten und alle sichtbaren Zellen aus der Tabelle zu kopieren. – CPAR05