Anzeige
Archiv - Navigation
1248to1252
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

Zellbereiche als Werte in 2. Tabelle einfügen

Zellbereiche als Werte in 2. Tabelle einfügen
Fritz_W
Hallo Forumsbesucher,
ich ersuche um Hilfe bei den VBA-Experten unter euch mit folgendem Anliegen:
In meiner Mappe befinden sich zwei (ausgeblendete) Tabellen mit identischer Struktur und Formeln:
Tabelle2 und Tabelle2a.
Ich möchte nun – quasi zur Sicherung Daten der Tabelle2 - 15 Zellbereiche aus der Tabelle2 in die Tabelle 2a kopieren und diese Zellbereiche danach in der Tabelle2 löschen.
Da andere Tabellen mittels Formeln auf die betreffenden Zellen der Tabelle2 zugreifen dürfen die Daten nicht ‚verschoben‘ werden. Sie sollten somit kopiert und als Inhalte in den gleichen Zellbereich von Tabelle2a eingefügt und schließlich aus der Tabelle2 gelöscht werden.
Es handelt sich dabei um die Daten der Spalten C bis L (10 Spalten) beginnend ab Zeile 2 immer insgesamt 16 Zeilen, jeweils nach drei weiteren Zeilen wieder die nächsten 16 Zeilen, insgesamt 15 Datenblöcke.
Der erste Datenblock wäre demzufolge Zellbereich C2:L17, der zweite C21:L36 und der letzte (der 15.) würde den Zellbereich C268 bis L283 beinhalten.
Ein derartiges Makro hätte den Vorteil, dass ich mit einem weiteren Makro – bei Vertauschen der Tabellennamen - die Daten aus Tabelle2a wieder in Tabelle2 zurückschreiben könnte.
Da die Tabellen ausgeblendet sind sollte das Makro aus jeder anderen Tabelle der Mappe gestartet werden können.
Ich hoffe, mein Anliegen nachvollziehbar beschrieben zu haben und freue mich über eure Hilfe.
mfg
Fritz
AW: Zellbereiche als Werte in 2. Tabelle einfügen
19.02.2012 21:10:20
Matthias
Hallo Fritz,
benutz doch den Makrorecoder :
Im Blatt2 Bereiche markieren und kopieren
Blatt 2 a anwählen die Bereiche markieren und "nur Werte einfügen"
In Blatt 2 wechseln und entfernen drücken
sollte dir schon mal helfen..
es geht natürlich auch anders...
Gruß Matthias
AW: Zellbereiche als Werte in 2. Tabelle einfügen
19.02.2012 21:37:35
Fritz_W
Hallo Matthias,
die Tabellen sind ausgeblendet, fünfzehn getrennte Textbereiche, mit gleichem Abstand,
hab mir vorgestellt, dass das anders 'komfortabler' zu bewerkstelligen ist.
mfg
Fritz
AW: Zellbereiche als Werte in 2. Tabelle einfügen
19.02.2012 22:29:26
Matthias
Hallo Fritz,
ich bin im VBA auch noch nicht soweit und Arbeite mich deshalb langsam ran,
die Datei im Anhang steuert über den Button in Tabelle1 das Makro (mit Recorder)
Reicht dir das so? Anhang: https://www.herber.de/bbs/user/78996.xlsm
Gruß Matthias
Anzeige
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 09:40:50
Fritz_W
Hallo Matthias,
hab den Code getestet: Das Makro tut das, was es soll. Damit hast Du mir schon sehr geholfen.
Allerdings hab ich den Eindruck, das Makro läuft unruhig und etwas lange, was wohl an der Verwendung von 'select' liegt. Ich lass die Frage deshalb 'noch offen', vielleicht kommt noch von einem der VBA-Experten ein Vorschlag zur Optimierung des Codes.
Nochmals vielen Dank für Deine Hilfe.
Viele Grüße
Fritz
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 09:59:55
hary
Hallo
versuch mal nach diesem Motto. Das loeschen kann noch mit Union machen.

Sub rueber()
Sheets("Tabelle2a").Range("C2:L17") = Sheets("Tabelle2").Range("C2:L17").Value
Sheets("Tabelle2").Range("C2:L17").ClearContents
Sheets("Tabelle2a").Range("C21:L36") = Sheets("Tabelle2").Range("C21:L36").Value
Sheets("Tabelle2").Range("C21:L36").ClearContents
End Sub

gruss hary
Anzeige
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 10:30:12
Fritz_W
Hallo Hary,
funktioniert soweit, vielen Dank.
Ich verstehe aber nicht, was Du mit 'Das loeschen kann noch mit Union machen' gemeint ist.
In dem vorliegenden Code ist das Löschen doch bereits vorgesehen oder was bedeutet dein Hinweis?
Viele Grüße
Fritz
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 10:42:05
hary
Hallo Fritz
Mit Union fasst man Bereiche zusammen. Dadurch spart man die einzelnen loeschzeilen.

Sub rueber()
With Sheets("Tabelle2")
Sheets("Tabelle2a").Range("C2:L17") = .Range("C2:L17").Value
Sheets("Tabelle2a").Range("C21:L36") = .Range("C21:L36").Value
Union(.Range("C21:L36"), .Range("C2:L17")).ClearContents 'loeschen in einer zeile, wichtig die  _
Punkte vor Range
End With
End Sub

gruss hary
Anzeige
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 10:48:30
Fritz_W
Hallo Hary,
vielen Dank für die hilfreiche Info.
Viele Grüße
Fritz
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 11:02:33
hary
Hallo Fritz
hier nochmal was mit Schleife. Teste mal ob die Bereiche passen.

Sub rueberanders()
Dim i As Long
With Sheets("Tabelle2")
For i = 2 To 249 Step 19
Sheets("Tabelle2a").Range("C" & i & ":L" & i + 15) = .Range("C" & i & ":L" & i + 15).Value
.Range("C" & i & ":L" & i + 15).ClearContents
Next
End With
End Sub

gruss hary
AW: Zellbereiche als Werte in 2. Tabelle einfügen
20.02.2012 11:19:34
Fritz_W
Hallo Hary,
finde es toll, dass Du Dich weiter um eine Optimierung des Codes bemühst.
Beim Test hat das mit dem Bereich nicht so recht geklappt, habe den Code daraufhin wie folgt geändert:
For i = 2 To 268 Step 19
Nun scheint es zu funktionieren!
nochmals Dank und viele Grüße
Fritz
Anzeige

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige