Excel Makro erstellen zur Sortierung
Hallo Zusammen,
ich habe folgendes Problem und bin gänzlich Überfordert damit, wäre Super wenn Ihr mir helfen könntet da ich mit Makros definitiv nichts zu tun habe:
Folgendes Szenario:
Ich habe eine Excel mit der Mappe "Zentral". Diese beinhaltet div. Infos über verschiedene Assets von PC´s.
PC Nummer, SN Nummer, Standort etc.
Ich benötige jetzt allerdings ein Makro das mir die Standorte sortiert und Automatisch nach Namen des Standortes neue Mappen Anlegt.
Die Design der Zentralen Mappe sollte allerdings übernommen werden.
Daraufhin sollte das Makro mir die unterschiedlichen Mappen einzeln als XLS Datei unter einem bestimmten Pfad speichern.
Ich hoffe ich habe mich klar und deutlich ausgedrückt?! ;)
Über Hilfe wäre ich echt Super erfreut.
Vielen Dank.
ich habe folgendes Problem und bin gänzlich Überfordert damit, wäre Super wenn Ihr mir helfen könntet da ich mit Makros definitiv nichts zu tun habe:
Folgendes Szenario:
Ich habe eine Excel mit der Mappe "Zentral". Diese beinhaltet div. Infos über verschiedene Assets von PC´s.
PC Nummer, SN Nummer, Standort etc.
Ich benötige jetzt allerdings ein Makro das mir die Standorte sortiert und Automatisch nach Namen des Standortes neue Mappen Anlegt.
Die Design der Zentralen Mappe sollte allerdings übernommen werden.
Daraufhin sollte das Makro mir die unterschiedlichen Mappen einzeln als XLS Datei unter einem bestimmten Pfad speichern.
Ich hoffe ich habe mich klar und deutlich ausgedrückt?! ;)
Über Hilfe wäre ich echt Super erfreut.
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171314
Url: https://administrator.de/forum/excel-makro-erstellen-zur-sortierung-171314.html
Ausgedruckt am: 23.12.2024 um 14:12 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
vielleicht könntest du mal versuchen, mit Makro aufzeichnen einige Code-Fragmente zu bekommen, die von dir (oder wahrscheinlich auch jemandem hier im Forum ) zusammengesetzt werden können.
Ich würde zum Beispiel etwa so vorgehen:
Ich hoffe ich konnte dir (und anderen ) einen Denkanstoss geben. Vielleicht bastel ich ja (später) noch ein bisschen Code zusammen.
MfG,
Mathe172
vielleicht könntest du mal versuchen, mit Makro aufzeichnen einige Code-Fragmente zu bekommen, die von dir (oder wahrscheinlich auch jemandem hier im Forum ) zusammengesetzt werden können.
Ich würde zum Beispiel etwa so vorgehen:
- Zeile für Zeile abarbeiten und in eine Tabelle kopieren, die als Namen den Standort hat
- Existiert so eine Tabelle nicht, erstelle eine neue und kopiere die Zeile dahin (wenn das Design übernommen werden soll, versuch mal herauszufinden, was dir Excel für einen Code ausspuckt, wenn du die Zeile markierst und mit Formatieung irgendwo wieder einfügst)
- Sind alle Zeilen durchgearbeitet, müssen die Tabellen nur noch als einzellne Mappe gespeichert werden. (Vielleicht mal schauen wie man Tabellen in eine andere Arbeitsmappe verschiebt )
Ich hoffe ich konnte dir (und anderen ) einen Denkanstoss geben. Vielleicht bastel ich ja (später) noch ein bisschen Code zusammen.
MfG,
Mathe172
Hallo,
versuch mal diesen Code:
Wenn was nicht passt, meld dich einfach
MfG,
Mathe172
versuch mal diesen Code:
Public Sub Sort()
Dim Row As Integer, Row2 As Integer, SortCriterium As String
Row = 1
Sheets("Zentral").Activate
Do Until Cells(Row, 1).Value = ""
SortCriterium = Cells(Row, 3)
If Not SheetExists(SortCriterium) Then
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = SortCriterium
End If
Sheets("Zentral").Activate
Rows(Row & ":" & Row).Select
Selection.Copy
Sheets(SortCriterium).Activate
Row2 = 1
Do Until Cells(Row2, 1) = ""
Row2 = Row2 + 1
Loop
Rows(Row2 & ":" & Row2).Select
ActiveSheet.Paste
Sheets("Zentral").Activate
Row = Row + 1
Loop
Dim objWorksheet As Worksheet
For Each objWorksheet In ActiveWorkbook.Worksheets
If objWorksheet.Name <> "Zentral" Then
objWorksheet.Select
ActiveWorkbook.Windows(1).SelectedSheets.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs objWorksheet.Name
Application.DisplayAlerts = True
ActiveWorkbook.Close
End If
Next
End Sub
Public Function SheetExists(Worksheetname As String) As Boolean
Dim objWorksheet As Worksheet
For Each objWorksheet In ActiveWorkbook.Worksheets
If objWorksheet.Name = Worksheetname Then SheetExists = True: Exit For
Next
End Function
Wenn was nicht passt, meld dich einfach
MfG,
Mathe172