Liebe Experten/innen,
nachdem ich zurecht über meine unzureichende Erklärung zurechtgewiesen wurde (danke Werner), versuche ich es nochmal mein Problem zu erläutern.
Ich habe eine Excel-Datei mit ca. 50Tabellenblättern. (Excel 2016)
Das Tabellenblatt "Importliste" enthält alle Daten (wie Arbeitsgang, Mitarbeiternr, Mitarbeitername, Auftrag, Startzeit etc.) in den Spalten A bis T und hat eine Überschriftzeile in Zeile 1mit den Spaltennamen (z.B. Arbeitsgang, Mitarbeiternr, Mitarbeitername, Auftrag usw.)
In dieser "Importliste" stehen in Spalte E die Mitarbeiternamen (z.B. Max Mayer, Karl Huber, usw). Die Namen können in Spalte E mehrmals untereinander stehen, aber auch in weiteren Zeilen immer wieder mal vorkommen, also in Spalte E stehen die Mitarbeiternamen irgendwie untereinander (ohne Leerzeilen).
Die restlichen Tabellenblätter der Datei haben die Namen der einzelnen Mitarbeiter. Das heißt, ein Sheet für Max Mayer, ein Sheet für Karl Huber... usw. = ca. 45 Tabellenblätter.
Jetzt kommt mein Probem, das ich leider nicht lösen kann und ich euch Experten brauche und bitte mir zu helfen:
folgendes sollte per vba erfolgen (mit Button):
ich möchte per Button jene Zeilen der "Importliste" die in "Spalte E" z.B. Max Mayer enthalten in das Tabellenblatt Max Mayer kopieren. Wobei das Tabellenblatt Max Mayer die selbe Überschriftzeile in Zeile 1 hat wie das Tabellenblatt "Importliste". Im Tabellenblatt Max Mayer sollen die importierten Zeilen ab Zeile 2 immer untereinander angereiht werden. (das heißt, es sollen die Mitarbeiternamen der Spalte E der "Importliste" mit den Namen der Tabellenblätter verglichen werden und dann die komplette Zeile der Importliste (von Spalte A-T) welche den Namen enthält in das entsprechende Tabellenblatt kopiert werden)
Dieser beschriebene Vorgang soll für alle Mitarbeiternamen der Spalte E aus der Importliste automatisch erfolgen, ohne Inputbox.
Ich habe einen Code, der mit Inputliste genau das macht was ich brauche. Ich füge ihn unten an.
Aber so muss ich jeden Mitarbeiternamen nacheinander in die Inputbox eingeben, das dauert einfach zu lange. Die automatische Version wäre der Wunsch. Ich hoffe das lässt sich überhaupt realisieren. (Es gibt auch immer wieder neue Mitarbeiter und Abgänge usw.
Hier der Code mit Inputbox:
Sub suchen_kopieren_einfügen()
Dim rngZelle As Range
Dim strSuchwort As String
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Dim strsuchTab As String
Set wks1 = Worksheets("Importliste")
strSuchwort = InputBox("Welches Suchwort?", "Suchwort eingeben")
If strSuchwort = "" Then Exit Sub
strsuchTab = strSuchwort & ""
On Error Resume Next
Set wks2 = Worksheets(strsuchTab)
For Each rngZelle In wks1.Range("E:E")
If rngZelle = strSuchwort Then
rngZelle.EntireRow.Copy _
wks2.Range("A" & wks2.Cells(Rows.Count, 2).End(xlUp).Row + 1)
End If
Next rngZelle
End Sub
Vielen Dank! LG Christian
|