ich hänge derzeit fest und benötige ein wenig Unterstützung.
Ich habe ein Macro geschreiben, welches nach einem bestimmten Wert in einer vorgegebenen Spalte sucht.
Aktuell wird dann die ganze Zeile, sowie die Vorgängerzeile in ein neues Tabellenblatt kopiert.
Im Namensmanager wurden Spaltenbereiche definiert.
Kann ich auf den Namensmanager zugreigen um Spaltenbereich auszulesen, um Sie dann in den Kopiervorgang zu integrieren? Wichtig dabei ist auch, dass die Werte dann direkt nacheinander in das neue Tabellenblatt geschrieben werden. Beispielsweise dass ein Bereich BE:CG, dann einfach in Spalte A bzw. an letzten vorrangegangenen Bereich angefügt wird.
Es wird mehrer Spaltenbereiche geben, die es zu Kopieren gilt. Ebenso ist es denkbar, dass Spaltenbereich variabel hinzugefügt werden können. Je nach dem ob sie sichtbar oder versteckt sind.
Code sieht aktuell wie folgt aus:
Option Explicit
Dim wbName As String
Dim LastRow As String
Dim varSearch As String
Dim colNum As Integer
Sub CopyRow()
Workbooks(ThisWorkbook.Name).Sheets("DieseMappe").Activate
varSearch = frmReport.varSearch
colNum = frmReport.colNum
wbName = mdlMakeWorkbook.wbName
Dim x As Integer
Dim y As Integer
Dim z As Integer
y = 2
LastRow =
IIf(IsEmpty(ThisWorkbook.Sheets("DieseMappe").Cells(Rows.Count,colNum)), _
ThisWorkbook.Sheets("DieseMappe").Cells(Rows.Count, colNum).End(xlUp).Row, _
ThisWorkbook.Sheets("DieseMappe").Rows.Count)
For x = 5 To LastRow
If Cells(x, colNum) = varSearch Then
z = x - 1
ThisWorkbook.Sheets("DieseMappe").Rows(x).Copy_ Destination:=ThisWorkbook.Sheets(" _
Report").Rows(y)
y = y + 1
ThisWorkbook.Sheets("DieseMappe").Rows(z).Copy_
Destination:=ThisWorkbook.Sheets("Report").Rows(y)
y = y + 1
End If
Next x
End Sub
Vielleicht geht es auch einfacher zu gestalten oder einen anderen Weg die Zeilen zu kopieren.Für Hilfe wäre ich wirklich sehr dankbar.
Bei Fragen fragen.
Danke und Gruß
M. Huck