Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Zelleninhalt in neues Dokument kopieren
#1
Guten Abend zusammen und erstmal ein Hallo in die Runde.

Bin relativ neu mit VBA unterwegs und bin nun auf der Suche nach einem Weg, Zelleninhalte von einem per "öffnen-Dialog" ausgewählen Dokument in ein immer gleich bleibendes Ziel-Dokument zu kopieren.

Das mit der Auswahl habe ich schon erfolgreich hinbekommen und auch das erste manuell eingegebene kopieren funktioniert...

Das sieht im Moment wie folgt aus :

Code:
wbSrc.Worksheets("wsAC60").Range("A4").copy Destination:=wbDest.Worksheets("Aufmaß").Range("C12:V12")
wbSrc.Worksheets("wsAC60").Range("C4").copy Destination:=wbDest.Worksheets("Aufmaß").Range("W12:AF12")
wbSrc.Worksheets("wsAC60").Range("D4").copy Destination:=wbDest.Worksheets("Aufmaß").Range("AQ12:CD12")
wbSrc.Worksheets("wsAC60").Range("J4").copy Destination:=wbDest.Worksheets("Aufmaß").Range("CT12:DC12")
wbSrc.Worksheets("wsAC60").Range("I4").copy Destination:=wbDest.Worksheets("Aufmaß").Range("DD12:DM12")
wbSrc.Worksheets("wsAC60").Range("LineNr").copy Destination:=wbDest.Worksheets("Aufmaß").Range("CE12:CI12")
wbSrc.Worksheets("wsAC60").Range("USNr").copy Destination:=wbDest.Worksheets("Aufmaß").Range("CJ12:CN12")
wbSrc.Worksheets("wsAC60").Range("ModulNr").copy Destination:=wbDest.Worksheets("Aufmaß").Range("CO12:CS12")


nun würde es aber in die nächste freie Zeile gehen und im Sheet wsAC60 würde A4 zu A8, C4 zu C8 und so weiter und im Zeil dann einfach eine Zeile tiefer.


Irgendwann kommt dann ein Sprung im wbSrc von A28 zu A35 zu A36 usw und es kann auch mal eine oder mehrere Zeilen leer sein.


Und das würde ich gerne alles iwie in nem Code automatisieren.... :s 

Jetzt seid ihr dran :100:
Antworten Top
#2
Hallöchen,

die letzte belegte Zelle einer Spalte bekommt man so raus:

Cells(Rows.Count, 1).End(xlUp).Row

wenn es um Spalte A (=1) geht. Will man eine Zeile tiefer, dann muss man dazu 1 addieren. Damit man nicht immer so viel schreiben muss, könnte an das in eine Variable packen:

lRow=Cells(Rows.Count, 1).End(xlUp).Row + 1

Im Range kann man das dann so verwenden:

Range("A" & lRow & ":D" & lRow)

Alternativ könnte man auch mit einem Offset arbeiten:

Range("A1:D1).Offset(lRow, 0)

Da kann man immer von Zeile 1 oder welche auch immer einem da geeignet erscheint aus programmieren.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste