Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1388to1392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ActiveSheet.Range Autofilter Criteria1

ActiveSheet.Range Autofilter Criteria1
05.11.2014 14:29:26
Günter
Hallo,
Sheets("Tabelle1").Select
ActiveSheet.Range("$A$1:$C$8").AutoFilter Field:=3, Criteria1:="101"
Range("A1:C999").Select
Selection.Copy
Sheets("101").Select
ActiveSheet.Paste
ich selektiere aus einem Blatt die Sätze mit "101" heraus und kopiere diese Felder in das Tabellenblatt "101".
Wie kann ich das parametrisieren, dass auch die Kriterien 102 - 199 in die jeweiligen gleichlautenden Tabellenblätter kopiert werden.
Oder ist hier activeSheet.range der völlig falsche Ansatz?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet.Range Autofilter Criteria1
05.11.2014 14:36:42
Hajo_Zi
ich baue keine Datei nach.
Sub Kopieerstellen()
Dim LoI As Long
For LoI = 102 To 199
With Sheets("Tabelle1")
.Range("$A$1:$C$8").AutoFilter Field:=3, Criteria1:=LoI
.Range("A1:C999").Copy Sheets(LoI).Range("A1")
End With
Next LoI
End Sub
Gruß Hajo

AW: ActiveSheet.Range Autofilter Criteria1
06.11.2014 07:27:37
Günter
Hallo Hajo,
vielen Dank für die schnelle Antwort.
Sieht gut aus, aber leider tritt ein weiterer Fehler auf:
"Laufzeitfehler '9':
Index außerhalb des gültigen Bereichs"
Bei debuggen hängt er sich auf in der Zeile .range("A1:C999").copy sheets(LoI).Range("A1")
Gruß
Günter

Anzeige
AW: ActiveSheet.Range Autofilter Criteria1
06.11.2014 07:35:12
Hajo_Zi
Hallo Günter,
ich vermute mal die Tabelle aktuelle Tabelle LoI gibt es nicht.
Ich sehe meinen Code nicht.
davor vielleicht, was mir nicht gefällt
On Error Resume Next
und vor End Sub
On Error Goto 0
Gruß Hajo

AW: ActiveSheet.Range Autofilter Criteria1
06.11.2014 07:35:31
hary
Moin
Wandel mal LoI in Text um.
.Range("A1:C999").Copy Sheets(CStr(LoI)).Range("A1")

gruss hary

AW: ActiveSheet.Range Autofilter Criteria1
06.11.2014 08:04:08
Günter
Hallo Hary,
danke für den Tipp.
War wohl Gedankenübertragung :-)
Auf die Idee bin ich gerade selbst gekommen.
Funktioniert fast...
Sub blatt_kopieren()
Dim LoI As Long
For LoI = 101 To 199
With Sheets("Tabelle1")
.Range("$A$2:$C$999").AutoFilter Field:=3, Criteria1:=LoI
.Range("A2:C999").Copy Sheets(CStr(LoI)).Range("A2")
End With
Next LoI
End Sub
Aber er hängt sich auf, wenn loi kleiner als 199 ist.
Wenn ich loi = 101 to 106 setze, funktioniert es.
Wie sähe die Anweisung aus, wenn loi kein numerischer Wert ist, sondern ein string.
FOR LOI = ? to ?
Sorry, bin in Sachen VBA noch ziemlich blank
Gruß
Günter

Anzeige
AW: ActiveSheet.Range Autofilter Criteria1
06.11.2014 09:45:18
hary
Moin
Versteh ich dich richtig, das Filterkriterium sind die Blattnamen?
Dim wks As Worksheet
With Worksheets("Tabelle1").Range("$A$2:$C$999")
For Each wks In Worksheets
If wks.Name  "Tabelle1" Then
If Worksheets("Tabelle1").AutoFilterMode = True Then Worksheets("Tabelle1").ShowAllData
.AutoFilter Field:=3, Criteria1:=wks.Name
.Copy wks.Range("A2")
End If
Next
.AutoFilter
End With

gruss hary

AW: ActiveSheet.Range Autofilter Criteria1
10.11.2014 11:17:10
Günter
Hallo hary,
jo richtig....
Zuerst lese ich die Spalte 3 aus und erstelle leere Blätter mit Namen Zelle=worksheet.
Dann möchte ich die in Spalte 3 gefilterten Zeilen in die neu angelegten worksheets kopieren.
Jetzt bekomme ich den Fehler:
Laufzeitfehler 1004
Die ShowAllData-Methode des worksheet-Objektes konnte nicht aufgeführt werden.

Anzeige
AW: ActiveSheet.Range Autofilter Criteria1
10.11.2014 13:22:44
Günter
habe jetzt ein "On Error Resume Next" eingefügt und das Makro funktioniert.
Nur: Ich bin neugierig und möchte wissen, warum es vorher NICHT funktioniert hat.
Wahrscheinlich "hängt" er sich an der ersten Zeile (Überschrift) auf, weil dort in field 3 das Kriterium wks.name nicht erfüllt ist. Oder liege ich da falsch.
Sorry für die dumme Frage, aber von Fehler zu Fehler lerne ich dazu...hoffentlich...

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige