Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
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, Fehlermeldung bei Zeile kopieren und einfügen

VBA, Fehlermeldung bei Zeile kopieren und einfügen
29.06.2014 17:45:38
André
Hallo,
ich möchte über der aktuellen Cursorposition eine Zeile einfügen und die Zeile 4 dort hinein kopieren. Die Zeile 4 ist ausgeblendet.
...
Worksheets("LH").Rows(ActiveCell.Row).Insert
Worksheets("LH").Rows(4).Copy Destination:=Worksheets("LH").Rows(ActiveCell.Row)
Worksheets("LH").Rows(ActiveCell.Row).Hidden = False
ActiveCell.Select
...
Das funktioniert solange die Tabelle nicht gefiltert ist. Dann erhalte beim Ausführen der zweiten Codezeile den Laufzeitfehler 1004 "Keine Zellen gefunden".
Hat jemand eine Idee?
Vielen Dank
André

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA, Fehlermeldung bei Zeile kopieren und einfügen
01.07.2014 17:02:59
fcs
Hallo André,
ich hab es jetzt mal in einer einfachen Tabelle probiert, da funktioniert das Makro mit und ohne gefilterte Zeilen.
Ich hab jetzt mal eine Variante erstellt allerdings nicht mit Activecell.Row sondern mit einer Variablen in der die Nummer der Activen Zeile gespeichert wird. Hier werden automatisch alle Zeilen eingeblendet wenn ein Autofilter gesetzt ist. Zusätzlich wird gescrollt, damit die aktive Zelle am Bildschirm sichtbar ist.
Das scheint auch zu funktionieren.
Sub Zeile4_kopierenEinfuegen()
Dim Zeile As Long
Zeile = ActiveCell.Row
With Worksheets("LH")
If .AutoFilterMode = True Then
If .FilterMode = True Then
.ShowAllData
.Rows(4).Hidden = True
End If
End If
End With
Worksheets("LH").Rows(Zeile).Insert
Worksheets("LH").Rows(4).Copy Destination:=Worksheets("LH").Rows(Zeile)
Worksheets("LH").Rows(Zeile).Hidden = False
ActiveWindow.ScrollRow = Zeile - 2
ActiveCell.Select
End Sub
Gruß
Franz

Anzeige
AW: VBA, Fehlermeldung bei Zeile kopieren und einfügen
02.07.2014 19:45:29
André
Hallo Franz,
danke für die Antwort und sorry für die späte Rückmeldung. Ich habe den Code etwas angepasst und dabei deinen Vorschlag aufgegriffen.

If Worksheets("LH").FilterMode Then Worksheets("LH").ShowAllData    'Filter zurücksetzen
Worksheets("LH").Rows(3).Copy
Worksheets("LH").Rows(ActiveCell.Row).Insert
Application.CutCopyMode = False                         'Zwischenspeicher löschen
Worksheets("LH").Rows(ActiveCell.Row).Hidden = False    'Eingefügte Zeile sichtbar machen
...
Fehlermeldung ist nun nicht mehr da.
Im nächsten Schritt möchte ich mir die Filtereinstellung merken und wieder herstellen.
Viele Grüße
André

Anzeige
AW: VBA, Fehlermeldung bei Zeile kopieren und einfügen
03.07.2014 08:27:30
fcs
Hallo André,
Im nächsten Schritt möchte ich mir die Filtereinstellung merken und wieder herstellen.
Je nachdem, welche Filtereinstellungen du in den Spalten des gefilterten Bereichs verwendest, kann so ein Makro sehr komplex werden. Denn du musst ja für jede Spalte die Informationen speichern ob der Filter gesetzt ist und wenn ja, mit welchen Einstellungen. Ggf. müssen ja alle Varianten, die du manuell einstellen kannst vom Makro geprüft werden.
Wenn du nur wenige Filter-Varianten bei den einzelnen Spalten verwendest, dann wird es überschaubar.
Gruß
Franz
Ansätze hierzu solltest du unter der RECHERCHE im Archiv finden.
Anzeige

404 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige