thepinky
Goto Top

VBA Spalten dynamisch auslesen und einfügen

Hallo zusammen,

Ich möchte folgendes bei Excel VBA umsetzen.
Aus einem Workbook Tabelle1 Spalte C die Werte ausschneiden und in ein anderes Workbook Tabelle1 Spalte B einfügen.

Dabei können von Spalte C unterschiedlich viele Zellen befüllt sein und in dem Ziel Workbook Spalte B sollen die Werte nicht überschrieben werden sondern nach unten fortlaufend ergänzt.

Ich weiß nicht wie ich diese "Dynamik" verwirklichen kann.
Vielen Dank im voraus

Content-ID: 8070524934

Url: https://administrator.de/forum/vba-spalten-dynamisch-auslesen-und-einfuegen-8070524934.html

Ausgedruckt am: 24.12.2024 um 19:12 Uhr

7907292512
7907292512 07.08.2023 aktualisiert um 17:35:54 Uhr
Goto Top
Sub KopierenUndAnfügen()
    Dim wb1 As Workbook, wb2 As Workbook
    Set wb1 = ActiveWorkbook
    Set wb2 = Workbooks.Open("D:\Mappe2.xlsx")  
    With wb1.Sheets("Tabelle1")  
        .Range("C1:C" & .Cells(.Rows.Count, "C").End(xlUp).Row).Copy Destination:=wb2.Sheets("Tabelle1").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)  
    End With
End Sub
Gruß siddius
thepinky
thepinky 07.08.2023 um 18:45:28 Uhr
Goto Top
Wow das ging ja schnell.
Super vielen Dank!

Gibt es noch eine Möglichkeit in Spalte A das aktuelle Datum zu schreiben. (nur bei den Zeilen die auch befüllt wurden)
7907292512
Lösung 7907292512 08.08.2023 aktualisiert um 10:08:26 Uhr
Goto Top
ibt es noch eine Möglichkeit in Spalte A das aktuelle Datum zu schreiben. (nur bei den Zeilen die auch befüllt wurden)
Jupp,wenn Spalte A bereits als Datum formatiert ist dann
Sub KopierenUndAnfügen()
    Dim wb1 As Workbook, wb2 As Workbook, target As Range, source As Range
    Set wb1 = ActiveWorkbook
    Set wb2 = Workbooks.Open("D:\Mappe2.xlsx")  
    With wb1.Sheets("Tabelle1")  
        Set source = .Range("C1:C" & .Cells(.Rows.Count, "C").End(xlUp).Row)  
        Set target = wb2.Sheets("Tabelle1").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)  
        target.Offset(0, -1).Resize(source.Rows.Count, 1).Value = Date
        source.Copy Destination:=target
    End With
End Sub
Wenn nicht kann ich die Formatierung als Datum bei Bedarf gerne noch im Code ergänzen, falls Bedarf besteht.

Den Beitrag bitte noch auf erledigt setzen setzen, und Lösungen markieren. Bedankt.
thepinky
thepinky 08.08.2023 um 11:15:19 Uhr
Goto Top
Super danke!
thepinky
thepinky 08.08.2023 um 11:45:15 Uhr
Goto Top
Habe noch eine weitere Überlegung.
Wäre es auch möglich anstatt das aktuell Systemdatum, das Datum in die Spalte zu schreiben wann die ausgelesene Arbeitsmappe das letzte mal abgespeichert wurde?
7907292512
7907292512 08.08.2023 aktualisiert um 12:14:17 Uhr
Goto Top
Klar, einfach das "Date" in dem o.g. Code ersetzen durch
wb1.BuiltinDocumentProperties("Last save time").Value  

Sonst noch was? Stück Torte zum Kaffee vielleicht?!

Du darfst gerne auch selbst in der Referenz ein bisschen stöbern => Excel VBA Reference