ich bitte die VBA-Experten um Hilfe bei der Anpassung des nachstehenden Codes unter den nachfolgend beschriebenen geänderten Bedingungen:
Sub Daten_uebertragen()
Dim i As Long
Dim letzteQuelle As Long
Application.ScreenUpdating = False
With Sheets("Tabelle2")
For i = 2 To 268 Step 19
letzteQuelle = .Cells(i, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(i, 3), .Cells(i + 16, letzteQuelle)).Copy
Sheets("Tabelle2b").Cells(i, Sheets("Tabelle2b").Cells(i, Sheets("Tabelle2b").Columns. _
_
Count).End(xlToLeft).Column + 1).PasteSpecial Paste:=xlValue
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Es sollen nunmehr nicht mehr alle Bereiche der Quelldatei (Tabelle2) in die Zieldatei (Tabelle2b) übertragen werden, sondern nur noch die Bereiche, in denen in der Zelle über dem zu kopierenden Bereich als Wert ein 'x' eingetragen ist. Beispiel für den ersten zu kopierenden Blockbereich (Zeilen 2 bis 17) der Tabelle2:
Nur diejenige Spalten kopieren (und wie bisher entsprechend nach Tabelle2b übertragen), wenn in der Zeile 1 ein 'x' steht. Also in Zelle C1 kein 'x' sollte C2:C17 nicht kopiert werden, in D1 ein 'x', sollte D2:D17 kopiert werden.
Für die nachfolgenden 14 Bereiche gilt Entsprechendes (Am Beispiel des zweiten zu kopierenden Blockbereichs: Zeilen 21:36):
Steht in C20 ein 'x' sollte C21:C36 kopiert werden, in D20 kein 'x' sollte D21:D36 nicht kopiert werden usw.
Ich freue mich über jede Unterstützung und danke im Voraus.
Viele Grüße
Fritz