01.11.2023, 19:13
Hallo zusammen,
ich versuche gerade, einen VBA-Code auf meine Bedürfnisse anzupassen, doch leider scheitere ich kurz vor dem Ziel. Bin auch noch Anfängerin.
Ich möchte aus einer Tabelle eine Zeile ausschneiden und in eine Tabelle auf einem anderen Arbeitsblatt in die nächste freie Zeile einfügen. Obwohl ich hier mit xlUp arbeite, wird die Zeile immer in Zeile 24 der Zieldatei eingefügt und nicht in die nächste freie Zeile. Der Rest funktioniert aber gut. Könnt ihr mir hier weiterhelfen? Und wenn es nicht zu viel Mühe macht würde ich mich noch über einen Tipp freuen, wie ich es anstellen kann, dass ich mich nicht nur in Spalte 1, sondern auch in anderen Spalten der entsprechenden Zeile befinden kann, um diese zu verschieben. Danke, Maria
Option Explicit
Sub Schüler_archivieren()
'Abfrage, ob Schüler wirklich archiviert werden soll
Dim Antwort
Antwort = MsgBox("Schülerin/Schüler archivieren?", vbYesNo + vbQuestion, "Schüler archivieren?")
If Antwort = vbYes Then
Dim lngErste As Long
If ActiveCell.Column = 1 Then
If ActiveCell.Count = 1 Then
With Worksheets("Archiv")
lngErste = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 1
ActiveCell.EntireRow.Copy
.Cells(lngErste, 1).PasteSpecial Paste:=xlValues
ActiveCell.EntireRow.Delete shift:=xlUp
End With
End If
End If
End If
End Sub
ich versuche gerade, einen VBA-Code auf meine Bedürfnisse anzupassen, doch leider scheitere ich kurz vor dem Ziel. Bin auch noch Anfängerin.
Ich möchte aus einer Tabelle eine Zeile ausschneiden und in eine Tabelle auf einem anderen Arbeitsblatt in die nächste freie Zeile einfügen. Obwohl ich hier mit xlUp arbeite, wird die Zeile immer in Zeile 24 der Zieldatei eingefügt und nicht in die nächste freie Zeile. Der Rest funktioniert aber gut. Könnt ihr mir hier weiterhelfen? Und wenn es nicht zu viel Mühe macht würde ich mich noch über einen Tipp freuen, wie ich es anstellen kann, dass ich mich nicht nur in Spalte 1, sondern auch in anderen Spalten der entsprechenden Zeile befinden kann, um diese zu verschieben. Danke, Maria
Option Explicit
Sub Schüler_archivieren()
'Abfrage, ob Schüler wirklich archiviert werden soll
Dim Antwort
Antwort = MsgBox("Schülerin/Schüler archivieren?", vbYesNo + vbQuestion, "Schüler archivieren?")
If Antwort = vbYes Then
Dim lngErste As Long
If ActiveCell.Column = 1 Then
If ActiveCell.Count = 1 Then
With Worksheets("Archiv")
lngErste = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 1
ActiveCell.EntireRow.Copy
.Cells(lngErste, 1).PasteSpecial Paste:=xlValues
ActiveCell.EntireRow.Delete shift:=xlUp
End With
End If
End If
End If
End Sub