Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1812to1816
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

Zeile in Dynamische Tabelle unten einfüg

Zeile in Dynamische Tabelle unten einfüg
20.02.2021 00:18:23
Sahra
Hallo Forum,
ich benötige mal wieder eure Hilfe!
Per Button sollen alle Zeilen mit "Ja" auf ein anderes Tabellenblatt, untereinander übertragen werden.
Das hat auch super funktioniert. Allerdings möchte ich auf diesem Blatt nun eine Dynamische Tabelle haben und nun die Zeilen dahin untereinander übertragen. Der übertrag funktioniert, allerdings überschreibt er die Zeilen jetzt und schreibt sie nicht mehr untereinander. Kann mir jemand helfen Bitte?
Private Sub Schaltfläche7_Klicken()
  • Dim Antwort As VbMsgBoxResult Dim Meldung As String 'MsgBox als PDF speichern? Meldung = "Als PDF speichern?" Antwort = MsgBox(Meldung, vbYesNo + vbQuestion, "VBA-Tutorial") If Antwort = vbYes Then On Error Resume Next ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Else MsgBox "abgelegt" End If 'MSGBOX Übertrag? If MsgBox("Erledigte Aufgaben werden übertragen, das Formular wird geleert!", vbOKCancel, "Ü _ bertrag starten?") = vbOK Then 'Wenn ok dann übertrag Dim rngC As Range, rngA As Range For Each rngC In Range("H2", Cells(Rows.Count, 8).End(xlUp)) 'Reihe in der ja steht (A=1 B=2) _ _ If rngC.Row > 1 And UCase(rngC.Value) = "JA" Then If rngA Is Nothing Then Set rngA = rngC Else Set rngA = Union(rngA, rngC) End If Next rngC If Not rngA Is Nothing Then With Worksheets("Werkstattbuch").Range("Tabelle7[Nr.]") ' Zieltabelle rngA.EntireRow.Copy .Cells(.Rows.Count, 8).End(xlUp).Offset(1, -7).PasteSpecial Paste:=xlPasteValues, _ Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'rngA.EntireRow.Delete

  • 5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zeile in Dynamische Tabelle unten einfüg
    20.02.2021 01:06:14
    Yal
    Hallo Sahra,
    Folgende Zeile:
    .Cells(.Rows.Count, 8).End(xlUp).Offset(1, -7).PasteSpecial _
    Paste:=xlPasteValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    
    Es wird auf die Splate H geprüft, welche ist die letzte befüllte Zeile. Wenn die ganze Zeile befüllt aber nicht H, geht es schief.
    VG
    Yal
    AW: Zeile in Dynamische Tabelle unten einfüg
    20.02.2021 07:32:52
    Sahra
    In der Spalte steht die Bedingung das es überhaupt übertragen wird, also das ja. Dies ist also auf jeden Fall ausgefüllt. Und wenn es auf das Tabellenblatt übertragen wird funktioniert es ja auch. Aber sobald ich eine Tabelle erstelle und es da hinein übertrage überschreibt er die Einträge? Bin ratlos... :(
    Anzeige
    AW: Zeile in Dynamische Tabelle unten einfüg
    20.02.2021 09:02:52
    Werner
    Hallo,
    teste mal:
    Private Sub Schaltfläche7_Klicken()
    Dim Antwort As VbMsgBoxResult, Meldung As String
    Dim rngC As Range, rngA As Range, loZeile As Long
    Meldung = "Als PDF speichern?"
    Antwort = MsgBox(Meldung, vbYesNo + vbQuestion, "VBA-Tutorial")
    If Antwort = vbYes Then
    ThisWorkbook.Worksheets("Wartungsplan").PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    Else
    MsgBox "abgelegt"
    End If
    If MsgBox("Erledigte Aufgaben werden übertragen, das Formular wird geleert!", _
    vbOKCancel, "Übertrag starten?") = vbOK Then
    For Each rngC In Range("H2", Cells(Rows.Count, 8).End(xlUp))
    If UCase(rngC.Value) = "JA" Then
    If rngA Is Nothing Then Set rngA = rngC Else Set rngA = Union(rngA, rngC)
    End If
    Next rngC
    If Not rngA Is Nothing Then
    With ThisWorkbook.Worksheets("Werkstattbuch")
    loZeile = .Columns(8).Find(what:="*", LookIn:=xlValues, _
    searchdirection:=xlPrevious).Offset(1).Row
    rngA.EntireRow.Copy
    .Cells(loZeile, 1).PasteSpecial Paste:=xlPasteValues
    End With
    End If
    ThisWorkbook.Worksheets("Wartungsplan").Range("i2:i5,k2:k5,g3,c9:c200,g9:n200") _
    .ClearContents
    Else
    MsgBox "Übertrag abgebrochen"
    End If
    End Sub
    
    Gruß Werner
    Anzeige
    AW: Zeile in Dynamische Tabelle unten einfüg
    20.02.2021 11:05:13
    Sahra
    Ihr hier im Forum seid ein Traum! Funktioniert wunderbar! Danke Werner! :D
    Gerne u. Danke für die Rückmeldung. o.w.T.
    20.02.2021 11:12:22
    Werner

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige