Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1528to1532
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
VBA Fehler 400
06.12.2016 14:09:13
torro100
Hallo
mit dem aufgeführten Code soll die nächste leere Zeile gefunden werden, beginnend ab Zeile 5, die Zeile 4 (dient als Vorlage; Zeile 3 und 4 sind versteckt)) soll dort hin kopiert werden, nur Formate und Formeln sollen beibehalten werden, die aktive Zelle soll in der neu eingefügten Zeile Spalte A sein.
Klappt auch so weit, nur dass die Kopiermarkierung immer in Zeile 4 hängen bleibt
(gestrichelte Umrandung)und die neue Zeile ist komplett markiert und nicht Zelle A.
Wo liegt mein Fehler?
Danke im voraus
Mike
Sub insert_row()
Dim lastrow As Long
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'MsgBox "Lastrow is " & lastrow
Application.EnableEvents = False
Application.ScreenUpdating = False
If lastrow > 4 Then
ActiveSheet.Cells(4, 1).EntireRow.Hidden = False
ActiveSheet.Cells(4, 1).EntireRow.Select
ActiveSheet.Cells(4, 1).EntireRow.Hidden = True
With Selection
.EntireRow.Copy
.Offset(lastrow - 3).EntireRow.PasteSpecial Paste:=xlPasteFormulas
.Offset(lastrow - 3).EntireRow.PasteSpecial Paste:=xlPasteFormats
.Offset(lastrow - 3).EntireRow.PasteSpecial Paste:=xlPasteValidation
.Offset(lastrow - 3).EntireRow.Hidden = False
End With
ActiveSheet.Cells(lastrow + 1, 1).EntireRow.SpecialCells(xlCellTypeConstants).ClearContents
ActiveSheet.Cells(ActiveCell.Row, "A").Select
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Fehler 400
06.12.2016 14:42:26
Michael
Hi,
einen 400 sehe ich nicht.
Teste mal:
Sub insert_row2()
Dim lastrow As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row + 1 ' ***
If lastrow > 4 Then
Application.EnableEvents = False
Application.ScreenUpdating = False
Rows(4).Copy Range("A" & lastrow)
Application.CutCopyMode = False
Rows(lastrow).Hidden = False
Rows(lastrow).SpecialCells(xlCellTypeConstants).ClearContents
Application.EnableEvents = True ' UNBEDINGT wieder einschalten
Range("A" & lastrow).Select
End If
End Sub

Konzipiere die Zeile 4 doch als reine Vorlagenzeile, also NUR mit Formeln und ohne Werte, dann kannst Du Dir die Codezeile mit .clearcontents sparen.
Eine mögliche Fehlerquelle könnte sein, daß Du die unterste Zeile in Spalte A ermittelst: falls da keine Formel drinsteht, kommt das Makro nie über die Zeile raus.
Schöne Grüße,
Michael
Anzeige
AW: VBA Fehler 400
07.12.2016 11:34:19
torro100
Hallo Michael,
danke, das hat geklappt..
vg
Mike
AW: VBA Fehler 400
06.12.2016 22:59:09
Uduuh
Hallo,
Application.CutCopyMode=False

ans Ende
Gruß aus’m Pott
Udo

24 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige