Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Bestimmte Zeilen in andere Tabelle kopieren

Makro Bestimmte Zeilen in andere Tabelle kopieren
18.09.2016 20:06:06
D.

Ist es auch in der Gegenrichtung möglich, mit einem Makro zusammenhängende Zeilen aus der dann geänderten Tabelle "Bearbeitung" die Daten der Zeilen als Werte in die bestehende "Tabelle1" zu Kopieren ohne deren Formatierung zu zerstören?
Also Zeilen 1-30 von Tabelle"Bearbeiten" nach Zeile 20 - 49 der "Tabelle1"
weiter " 31-60 " " " 69 - 98 "
weiter " 61-90 " " " 118- 147 "
weiter " 91-120 " " " 167- 196 "
und das ganze so weiter bis Zeile 5000 kopieren.
Kurz gesagt Zeile 1-30 nach andere Tabelle Start bei 20
Zeile 31-60 " Start bei 69
Zeile 61-90 " Start bei 118
bis 5000 kopieren.
Währe nicht schlecht wenn man da ein Makro zusammenbasteln kann. Gern auch mit Kommentare, das ich auch etwas nachvollziehen kann.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
warum neuer Thread?? owT
18.09.2016 20:50:49
MB12
.
AW: Makro Bestimmte Zeilen in andere Tabelle kopieren
18.09.2016 22:31:17
Bastian
Nun ja ein bissel könnte man auch selber versuchen die lösung lag ja schon auf deiner hand ;)
Gurß Basti

Sub Gooa()
Dim Zeile As Long
Dim Zeile2 As Long
Dim StartZeile As Long
Dim last As Long
Dim arr
Dim x As Long
Dim y As Long
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Ws1 = ThisWorkbook.Worksheets("Tabelle1")
Set Ws2 = ThisWorkbook.Worksheets("Bearbeitung")
Application.ScreenUpdating = False
last = 17 ' Start von Tabelle 1
StartZeile = 1 ' Start von Bearbeitung
x = 0
y = 0
arr = Array(33, 19, 30, 19) ' JA,NEIN,JA,NEIN
Zeile = StartZeile
Zeile2 = StartZeile
Do
If Zeile > 3120 Then Exit Do
If Not x Mod 2 <> 0 Then
Zeile2 = Zeile2 + arr(x) - 1 + y
Ws2.Rows(Zeile & ":" & Zeile2).EntireRow.Copy
Ws1.Cells(last, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
last = last + arr(x)
Zeile = Zeile + arr(x)
Else
last = last + arr(x)
End If
y = 1
If x = UBound(arr) Then x = 0: GoTo xx
x = x + 1
xx:
Loop
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Makro Bestimmte Zeilen in andere Tabelle kopieren
19.09.2016 06:13:20
D
Danke Bastian,
nun das habe ich schon versucht- leider führte es nicht zum gewünschten Erfolg. Diesmal ist der Startbereich gleich, aber der Bereich in der "Tabelle1", wo es eingefügt werden soll- hat Lücken.
Einfügen Start bei 20, dann 69, dann 118 usw.
Würde mich über ein funktionierentes Makro freuen- daran Veränderungen vornehmen mache ich gern- aber das Grundgestell hat erst mal Hand und Fuß.- Aller Anfang ist schwer.
Danke für Deine Mühe.
AW: Makro Bestimmte Zeilen in andere Tabelle kopieren
19.09.2016 06:55:00
baschti007
Ja D. du musst das Makro schon auf deine Tabelle anpassen da du ja keine Bsp. Mappe hochgeladen hast ;)

Sub Gooa()
Dim Zeile As Long
Dim Zeile2 As Long
Dim StartZeile As Long
Dim last As Long
Dim arr
Dim x As Long
Dim y As Long
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Ws1 = ThisWorkbook.Worksheets("Tabelle1")
Set Ws2 = ThisWorkbook.Worksheets("Bearbeitung")
Application.ScreenUpdating = False
last = 20 ' Start von Tabelle 1
StartZeile = 1 ' Start von Bearbeitung
x = 0
y = 0
arr = Array(30, 19, 30, 19) ' JA,NEIN,JA,NEIN
Zeile = StartZeile
Zeile2 = StartZeile
Do
If Zeile > 5000 Then Exit Do
If Not x Mod 2 <> 0 Then
Zeile2 = Zeile2 + arr(x) - 1 + y
Ws2.Rows(Zeile & ":" & Zeile2).EntireRow.Copy
Ws1.Cells(last, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
last = last + arr(x)
Zeile = Zeile + arr(x)
Else
last = last + arr(x)
End If
y = 1
If x = UBound(arr) Then x = 0: GoTo xx
x = x + 1
xx:
Loop
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Makro Bestimmte Zeilen in andere Tabelle kopieren
19.09.2016 19:51:41
D.
So nun mal noch Datei mit hochgeladen-
Nach dem Ausführen der Änderungen auf der Tabelle "Bearbeiten" sollen die Daten wieder in den Zellen der "Tabelle1" nach folgenden Muster eingefügt werden.
Zeilen 1-30 von Tabelle"Bearbeiten" nach Zeile 20 - 49 der "Tabelle1"
weiter " 31-60 " " " 69 - 98 "
weiter " 61-90 " " " 118- 147 "
weiter " 91-120 " " " 167- 196 "
und das ganze so weiter bis Zeile 5000 kopieren.
Kurz gesagt Zeile 1-30 nach andere Tabelle Start bei 20
Zeile 31-60 " Start bei 69
Zeile 61-90 " Start bei 118
bis 5000 kopieren.
Kann jemand nachhelfen?

Anzeige

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige