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-Key: 8070524934

Url: https://administrator.de/contentid/8070524934

Printed on: April 27, 2024 at 17:04 o'clock

Mitglied: 7907292512
7907292512 Aug 07, 2023 updated at 15:35:54 (UTC)
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
Member: thepinky
thepinky Aug 07, 2023 at 16:45:28 (UTC)
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)
Mitglied: 7907292512
Solution 7907292512 Aug 08, 2023 updated at 08:08:26 (UTC)
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.
Member: thepinky
thepinky Aug 08, 2023 at 09:15:19 (UTC)
Goto Top
Super danke!
Member: thepinky
thepinky Aug 08, 2023 at 09:45:15 (UTC)
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?
Mitglied: 7907292512
7907292512 Aug 08, 2023 updated at 10:14:17 (UTC)
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