noah15
Goto Top

VBA - Zellen anhand des Zellinhaltes und des Tabellennamen kopieren

Guten Tag,

folgendes Problem stellt sich mir und ich hoffe, dass sich vor den Festtagen noch jemand findet, der mir etwas aushelfen kann.

Ich habe eine Excel Tabelle mit knapp 9000 Zeilen an Daten (A1:BA8720). In dieser Tabelle stehen verschiedene Bauteile für verschiedene Fahrzeuge. Die Fahrzeuge sind anhand einer Materialnummer in der ersten Spalte eindeutig zuzuordnen.

Ziel ist es:
1. Für jede Materialnummer ein neues Tabellenblatt anzulegen. Das Tabellenblatt soll die Bezeichnung der Materialnummer tragen (Bsp.: 0110000000)
2. Die Überschrift der Tabelle, d.h. die Zellen A1:BA1 in jedes neue Tabellenblatt zu übertragen
3. Den Filter für die Zellen A1:BA1 in jeder Tabelle setzen.
4. Die Werte der Zellen aus der Spalte A (Materialnummern) sollen mit den Namen der Tabellenblätter abgeglichen werden. Wenn diese übereinstimmen, soll die komplette Zeile in das Tabellenblatt kopiert werden.
Es handelt sich um bis zu 500 Zeilen pro Materialnummer.

Die Schritte 1-3 konnte ich selber bzw. mit ein wenig Hilfe von google lösen. Schritt 4 übersteigt allerdings meine VBA-Kenntnisse.

 Sub x()
Dim Zelle, Bereich As Range
Dim i As Integer
Dim nWS As Worksheet
Dim Bool As Boolean

Set Bereich = Range("A2:A" & Range("A65536").End(xlUp).Row)  
 
For Each Zelle In Bereich

    For i = 2 To Worksheets.Count
        If Worksheets(i).Name = Zelle.Value Then
            Bool = True
            Exit For
        Else
            Bool = False
        End If
    Next i
    
    If Bool = False Then
        Set nWS = Worksheets.Add(after:=Worksheets(Worksheets.Count))
        nWS.Name = Zelle.Value
        With Worksheets("Sheet1")  
        .Range("A1:BA1").Copy Worksheets(nWS.Name).Range("A1:BA1")  
       ActiveSheet.Range("A1:BA1").AutoFilter  
        End With
    End If
    
Next Zelle

End Sub

Gruß

Content-ID: 291505

Url: https://administrator.de/contentid/291505

Ausgedruckt am: 24.11.2024 um 17:11 Uhr

122990
Lösung 122990 22.12.2015 aktualisiert um 13:45:12 Uhr
Goto Top
Moin,
genau dafür haben wir hier schon fertigen Code auf Lager face-smile
In VBA ein (Order by )

Frohes Fest
Gruß grexit
Noah15
Noah15 22.12.2015 um 13:45:09 Uhr
Goto Top
Vielen Dank!!