Zellbereich per VBA verschieben
#1
Hallo zusammen,
Ich würde gerne im Tabellenblatt 1 den Zellbereich G21:H32 kopieren und in die nächste freie Spalte kopieren. Das gleiche soll auch für Tabelleblatt 2, 3 und 4 ausgeführt werden.

Ich hoffe, ich konnte das Problem verständlich beschreiben.

Beste Grüße 
Patrick
Antworten Top
#2
das ist kein Problem. Die Lösung: Mach doch einfach. 

Das ist ein Hilfeforum und keine Jobbörse. Wenn du Hilfe benötigst, dann frag doch nach Hilfe. Aktuell wissen wir hier nur was du selbst machen willst. 

Erkläre etwas genauer wie man dir helfen soll dein "Problem" zu lösen. 

Soll das mit VBA umgesetzt werden?
Soll das automatisch passieren oder doch erst wenn man einen Button drückt?
Wenn VBA, dann zeichne den Vorgang mit dem Makrorekorder auf und du hast die halbe Arbeit schon erledigt. 
Kannst du nicht mal das, dann lass die Finger von Automatisierungen.
Antworten Top
#3
Hallo

probiere bitte mal den unteren Code. Für eine Tabelle, oder 2. Makro als For Next für 4 Tabellen ausgelegt.
Für VBA Neulinge erkläre ich ihn kurz, denn der Makro Recorder gibt dir keine Erklärungen ab!
LSP sucht die nächste freie Spalte von XFD (LastSpalte) nach Links, aber bitte auf die Zeile achten! Hier suche ich in Zeile 21, sonst die Zeilenzahl bitte ändern.

Der Befehl für Copy und Einfügen ist hier zusammen geschrieben. Kurzform!
Bei For Next verwende ich eine With Klammer, dadurch gilt es für 4 Sheets.
Würde mich freuen wenn dir das weiterhilft.

mfg Gast 123

'G21:H32 kopieren
Sub Bereich_kopieren()
'suche nächste leere Spalte in Zeile 21!
'** wenn andere Zeile dann 21 bitte ändern!!
Lsp = Cells(21, Columns.Count).End(xlToLeft).Column
'Kopiere in nächste freie Spalte, wo Zeile 21 leer ist!
Range("G21:H32").Copy Cells(21, Lsp + 1)
End Sub


Sub Tab1_4_Bereich_kopieren()
For j = 1 To 4 'Code für 4 Tabellen
With Worksheets("Tabelle" & j)
'suche nächste leere Spalte in Zeile 21!
'** wenn andere Zeile dann 21 bitte ändern!!
Lsp = .Cells(21, Columns.Count).End(xlToLeft).Column
'Kopiere in nächste freie Spalte, wo Zeile 21 leer ist!
.Range("G21:H32").Copy .Cells(21, Lsp + 1)
End With
Next j
End Sub
Antworten Top


Gehe zu:


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