Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1752to1756
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

VBA Error 1004

VBA Error 1004
14.04.2020 15:19:13
Kerumi
Hallo Zusammen.
Ich habe nach einem Code gesucht, der es mir ermöglicht bestimmte Zeilen (Zellen) zu kopieren, wenn die Bedingung "Text xy" erfüllt ist...
Soll heissen, wenn in Zelle G5 der Text "Test" steht soll Zelle G5 und H5 in Tabellenblat 2 kopiert werden.
Bin dazu auch halbwegs fündig geworden:
https://www.youtube.com/watch?v=RwHGGqnt1nA
Benutze den von ihm gegebenen Code...

Sub kopieren()
Dim variable As String
variable = [A1]
With Sheets(variable).UsedRange
.AutoFilter Field:=7, Criteria1:="Beckhoff"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("Beckhoff").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets(variable).UsedRange.AutoFilter
End Sub


Jedoch ist es nun so, dass wenn ich die Videoanleitung befolge und das Makro spielen will, kriege ich den Laufzeitfehler 1004.. Also wohl irgendwo eine Endlosschlaufe..
Kann mir da ev. wer einen Tipp geben woran das liegen kann?
Hab in Blatt 2 extra ein Copy+Paste vom Tabellenblatt 1 Namen gemacht, damit da keine Fehler auftreten.
Blatt 2 heisst Beckhoff.
Suche in Blatt 1 nach dem Begriff Beckhoff (vorhanden) in Spalte G:G.
Danke schon mal für eure Hilfe!

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Error 1004
14.04.2020 15:39:03
Kerumi
Fehler tritt entweder in Zeile
.AutoFilter Field:=7, Criteria1:="Beckhoff"
oder
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
auf. (Debugger springt da nicht mehr und generiert den Anwendungs- oder objektdefinierter Fehler)
AW: VBA Error 1004
14.04.2020 15:39:23
Daniel
Hi
Schwer zu sagen, ohne deine Datei zu kennen.
Ein wichtiger Hinweis von dir wäre, in welcher Programmzeile der Fehler auftritt.
Noch wichtiger wäre das hochladen der Datei.
Da du beim Einlesen des Blattnamens nur die Zelle und keinen Blattnamen angegeben hast, muss beim Starten des Makros auch dieses Blatt aktiv sein (also das wo der Blattnamen in A1 steht.
Die zweite Frage wäre, ob in dem Blatt in dem du filterst, die Usedrange auch wirklich in Spalte A beginnt.
Wenn nämlich auf einem Blatt die ersten Spalten oder Zeilen nicht befüllt sind, beginnt die Usedrange nicht in Zelle A1, sondern entsprechend versetzt und dann verweist Field:=7 nicht auf die Spalte G, sondern auf eine entsprechend weiter hinten liegende Spalte nämlich auf die 7. Spalte der UsedRange und wenn die Usedrange nicht so viele Spalten hat, gibts 'nen Fehler.
Gruß Daniel
Anzeige
AW: VBA Error 1004
14.04.2020 15:58:14
Kerumi
Hallo Daniel, danke für deine rasche Antwort
Der Fehler tritt bei der Zeile
.AutoFilter Field:=7, Criteria1:="Beckhoff"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy

auf. Ich kann via Debugger bis Zeile .Autofilter springen (gelb markiert, dann nicht markiert und bei erneutem F8 wird der Fehler generiert)
Von mir aus gesehen ist die Spalte A gebraucht. habe da Werte drinstehen..
Wie aktiviere ich ein Blatt?
Oder gibts da eine elegantere Lösung dazu?
Bin leider ein ziemlicher Noob wenns um VBA geht und bastle mir meist mit Vorlagen was zusammen wie hier aus dem Internet. Komischerweise funktioniert der Code hier gar nicht, obwohl ich diesen nach dem Beschrieb des Videos abgeändert habe.
Hier mal noch die Tabelle. Ist ein Beispiel (Blätter sehen so aus), da andere vertrauliche Daten enthält.
https://www.herber.de/bbs/user/136704.xlsx
Anzeige
AW: VBA Error 1004
14.04.2020 16:06:18
Daniel
Datei mit Makro wäre nicht schlecht.
die Usedrange darfst du zum filtern nicht verwenden, weil Zeile 1 und 2 ja nicht zum bestehenden Filterbereich gehören.
verwende statt .UsedRange mal .range("a3").currentregion
gruß Daniel
AW: VBA Error 1004
14.04.2020 16:09:15
Kerumi
Vielen Dank das wars!
Jetzt wäre es perfekt, wenn nur Spalte G und H angezigt werden. Wie muss ich das am besten einknüpfen?
Das müsste ja beim .copy Befehl rein oder?
AW: VBA Error 1004
14.04.2020 16:29:11
Kerumi
Hab das jetzt mal so versucht:

Sub kopieren()
Dim variable As String
variable = [A1]
With Sheets("Bt Projekte ganz").Range("A3").CurrentRegion
.AutoFilter Field:=7, Criteria1:="Beckhoff"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Range("G4:H" & Cells(Rows.Count, 1).End(xlUp). _
Row).Copy
End With
Sheets("Beckhoff").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets(variable).Range("A3").CurrentRegion.AutoFilter
End Sub


Leider kopiert es dann aber nur die ersten 2 Beckhoff mit Wert und der letzte erscheint nicht..
https://www.herber.de/bbs/user/136705.xlsm
Anzeige
AW: VBA Error 1004
14.04.2020 16:33:32
Daniel
.Resize(, 2).Offset(1, 6).SpecialCells(xlCellTypeVisible).Copy
gruß Daniel
AW: VBA Error 1004
14.04.2020 16:40:35
Kerumi
Supi hat geklappt!
besten Dank!

49 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige