Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erstellen Werkzeugliste aus Tabellenblätter

Forumthread: Erstellen Werkzeugliste aus Tabellenblätter

Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 09:20:23
Henning
Hallo,
ich würde gern folgendes Makro programmieren:
Ich habe eine Excel-Datei mit ungefähr 50 Blättern, welche jeweils einen Arbeitsvorgang beschreiben. Die Blätter sind leider nicht einheitlich Formatiert.
Die Blätter beinhalten IRGENDWO die Information
"Werkzeug1" "Anzahl"
"Werkzeug2" "Anzahl"
in zwei Nebeneinander liegenden Zellen.
Jetzt möchte ich eine Übersicht über die benötigten Werkzeuge erstellen.
Bis jetzt bin ich soweit, dass ein Makro eine Übersicht über alle Tabellenblätter erstellt, durchnummeriert und mit einem Link belegt. Daneben möchte ich nun eine Tabelle mit den benötigten Werkzeugen erstellen. In der Headzeile der Tabelle steht also
"Nr." "Tabellenblatt" "Werkzeug1" "Werkzeug2" "Werkzeug3" ,usw
Die weiteren Zeilen sollen dann gefüllt werden mit:
"NameTabellenblatt" "Anzahl_Werkzeug1" "Anzahl Werkzeug2" "Anzahl Werkzeug3", usw.
Das Makro soll also nun alle Tabellenblätter langgehen, und jedes Tabellenblatte auf den Namen der Werkzeuge überprüfen (diesen also mit der Headzeile vergleichen), wenn auf einem Tabellenblatt das Werkzeug gefunden wurde den Wert NEBEN dem Werkzeug, also der Anzahl, übernehmen und in die Übersicht eintragen.
Als I-Tüpfelchen könnte man dann ganz unten die Werkzeuge endlich aufsummieren, aber das würde ich auch einfach dann mit einer Formel machen.
Ich hab ein wenig erfahrung mit erstellen von Makros, aber das ist mir doch eine Nummer zu kompliziert. Ich hoffe ich hab mich verständlich ausgedrückt. Ich kann gerne nochmal versuchen weiteres zu erklären.
Danke

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 09:28:13
hary
Moin Henning
Lad mal eine Bsp.-Mappe mit 2-3 Blaettern hoch.
gruss hary

AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 15:01:32
Henning
Hallo,
also hier ein Beispiel.
Blatt1 ist die Übersicht und Blatt 2-4 die Arbeitsplätze. Die Liste der Arbeitsplätze hab ich bereits per Makro erstellen können. Jetzt geht es darum, die Liste zu füllen. Hinterher werde ich versuchen, alles in ein Makro zu verbinden.
https://www.herber.de/bbs/user/88297.xlsm
Danke für Hilfe!

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 09:40:03
Henning
Also natürlich möchte ich nicht, dass mir hier jemand ein komplettes Makro hinschreibt (wenn möglich wäre das natürlich super;-))
Ich habe nur Probleme die Kommandos zu programmieren (ich habe bisher nur Makros abgeändert):
Wie springe ich auf das in der Tabellenzeile benannte Tabellenblatte, und Prüfe dieses in Allen Zellen auf den Werkzeugnamen, der in der Tabellenheadzeile steht und Trage dann die Werkzeuganzahl in die gleiche Tabellenspalte?

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 09:46:44
UweD
Hallo
ohne Beispieldatei dauert es sicherlich länger dir Tips zu geben
als mit Datei das kompl. Makro zu schreiben.
Also stelle ein Beispiel online...
Gruß UweD

AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 10:40:18
Hajo_Zi
Hallo Uwe,
das hatte Hary auch schon vorgeschlagen, der Fragesteller möchte wohl keine Datei verlinken, er möchte wohl lieber länger auf eine Lösung warten.

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 10:57:06
Rudi
Hallo,
teste mal:
Sub henning()
Dim rFind As Range, rMatch As Range, lRow
Dim wks As Worksheet
With Sheets("Übersicht")
.Hyperlinks.Delete
For Each wks In Worksheets
If Not wks Is Sheets("Übersicht") Then
For Each rMatch In .Range(.Cells(1, 3), .Cells(1, Columns.Count).End(xlToLeft))
Set rFind = wks.Cells.Find(what:=rMatch, lookat:=xlWhole)
If Not rFind Is Nothing Then
lRow = Application.Match(wks.Name, .Columns(2), 0)
If IsError(lRow) Then
lRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
End If
.Cells(lRow, 1) = WorksheetFunction.Max(.Range(.Cells(1, 1), .Cells(lRow - 1, 1))) + _
1
.Cells(lRow, 2) = wks.Name
.Cells(lRow, rMatch.Column) = rFind.Offset(, 1)
.Hyperlinks.Add .Cells(lRow, rMatch.Column), "#'" & wks.Name & "'!" & rFind.Address
End If
Next rMatch
End If
Next wks
End With
End Sub

Gruß
Rudi

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 15:37:38
Henning
Hallo,
danke für die Hilfe. Leider klappt das nicht bei der Beispieldatei. Ich kann auch nicht nachvollziehen was du für schritte da machst. Bei mir Erstellt das Makro eine liste mit den Arbeitsblättern und belegt diese mit einem Link und legt den Link auch noch darunter, bzw. daneben an.
https://www.herber.de/bbs/user/88297.xlsm

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
28.11.2013 15:45:24
Rudi
Hallo,
ich bin davon ausgegangen, dass deine Liste in Zeile 1 beginnt.
Für deine Beispieldatei:
Sub henning()
Dim rFind As Range, rMatch As Range, lRow
Dim wks As Worksheet
With Sheets("Werkzeugliste")
.Hyperlinks.Delete
For Each wks In Worksheets
If Not wks Is Sheets("Werkzeugliste") Then
For Each rMatch In .Range(.Cells(2, 3), .Cells(2, Columns.Count).End(xlToLeft))
Set rFind = wks.Cells.Find(what:=rMatch, lookat:=xlWhole)
If Not rFind Is Nothing Then
lRow = Application.Match(wks.Name, .Columns(2), 0)
If IsError(lRow) Then
lRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
End If
.Cells(lRow, 1) = _
WorksheetFunction.Max(.Range(.Cells(1, 1), .Cells(lRow - 1, 1))) + 1
.Cells(lRow, 2) = wks.Name
.Cells(lRow, rMatch.Column) = rFind.Offset(, 1)
.Hyperlinks.Add .Cells(lRow, rMatch.Column), "#'" & wks.Name & "'!" & rFind.Address
End If
Next rMatch
End If
Next wks
End With
End Sub

Gruß
Rudi

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
29.11.2013 08:32:09
Henning
Hallo!
Super danke! Ich werde es mal in der großen Datei ausprobieren.
Kannst du mir vielleicht mal die Zeilen kommentieren oder das Vorgehen beschrieben? Ich würde gerne bald sowas gerne selber lernen, viele Kommandos sind mir aber noch unbekannt.

AW: Erstellen Werkzeugliste aus Tabellenblätter
29.11.2013 08:43:29
Henning
Hallo!
Super danke! Ich werde es mal in der großen Datei ausprobieren.
Kannst du mir vielleicht mal die Zeilen kommentieren oder das Vorgehen beschrieben? Ich würde gerne bald sowas gerne selber lernen, viele Kommandos sind mir aber noch unbekannt.

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
29.11.2013 08:47:26
Henning
Hallo,
also in der Beispieldatei klappt es Super. In der richtigen Datei kommt die Meldung "Unterstützt Objekt oder Methode nicht" Ich habe zwei Zeilen Eingefügt, nämlich dass der das Worksheet "Vorlage" und "Übersicht" nicht berücksichtigt.
Sub Werkzeugliste()
Dim rFind As Range, rMatch As Range, lRow
Dim wks As Worksheet
With Sheets("Werkzeugliste")
.Hyperlinks.Delete
For Each wks In Worksheets
If Not wks Is Sheets("Werkzeugliste") And _
wks  Sheets("Vorlage") And _
wks  Sheets("Übersicht") Then
For Each rMatch In .Range(.Cells(2, 3), .Cells(2, Columns.Count).End(xlToLeft))
Set rFind = wks.Cells.Find(what:=rMatch, lookat:=xlWhole)
If Not rFind Is Nothing Then
lRow = Application.Match(wks.Name, .Columns(2), 0)
If IsError(lRow) Then
lRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
End If
.Cells(lRow, 1) = _
WorksheetFunction.Max(.Range(.Cells(1, 1), .Cells(lRow - 1, 1))) + 1
.Cells(lRow, 2) = wks.Name
.Cells(lRow, rMatch.Column) = rFind.Offset(, 1)
.Hyperlinks.Add .Cells(lRow, rMatch.Column), "#'" & wks.Name & "'!" & rFind.Address
End If
Next rMatch
End If
Next wks
End With
End Sub
Außerdem braucht das Makro offensichtlich eine 1, um die Spalten darunter zu füllen? Wie kann ich das ändern, man könnte ja dann einfach eine 0 dahin schreiben. Ich find das im Code leider nicht.
Danke für die Super hilfe!

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
29.11.2013 08:54:40
Henning
Also, es liegt ja wohl an meinem eingefügten Befehl, dass das Makro nicht funktioniert. Bei einem anderen Makro habe ich das so gemacht für den Befehl "For Each Worksheet". Warum ist das hier nicht zulässig?
Ich hatte vergessen zu erwähnen, dass manche (eigentlich recht viele) Arbeitsschritte gar kein Werkzeug haben. Das Makro stoppt dann. Wie kann man das umgehen?
Vielen Dank nochmal!

Anzeige
AW: Erstellen Werkzeugliste aus Tabellenblätter
29.11.2013 11:37:30
Rudi
Hallo,
wks Sheets("Vorlage") And _
warum hältst du dich nicht an meine Syntax?
Gruß
Rudi
Anzeige
Anzeige

Infobox / Tutorial

Werkzeugliste aus Tabellenblättern erstellen in Excel


Schritt-für-Schritt-Anleitung

Um eine Werkzeugliste aus mehreren Tabellenblättern in Excel zu erstellen, kannst Du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei mit den Tabellenblättern, die die Werkzeuge auflisten.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Kopiere den folgenden Code in das Modul:
Sub Werkzeugliste()
    Dim rFind As Range, rMatch As Range, lRow
    Dim wks As Worksheet
    With Sheets("Werkzeugliste") ' Hier den Namen des Überblick-Blatts anpassen
        .Hyperlinks.Delete
        For Each wks In Worksheets
            If Not wks Is Sheets("Werkzeugliste") Then
                For Each rMatch In .Range(.Cells(2, 3), .Cells(2, Columns.Count).End(xlToLeft))
                    Set rFind = wks.Cells.Find(what:=rMatch, lookat:=xlWhole)
                    If Not rFind Is Nothing Then
                        lRow = Application.Match(wks.Name, .Columns(2), 0)
                        If IsError(lRow) Then
                            lRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
                        End If
                        .Cells(lRow, 1) = WorksheetFunction.Max(.Range(.Cells(1, 1), .Cells(lRow - 1, 1))) + 1
                        .Cells(lRow, 2) = wks.Name
                        .Cells(lRow, rMatch.Column) = rFind.Offset(, 1)
                        .Hyperlinks.Add .Cells(lRow, rMatch.Column), "#'" & wks.Name & "'!" & rFind.Address
                    End If
                Next rMatch
            End If
        Next wks
    End With
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus (ALT + F8), wähle Werkzeugliste und klicke auf Ausführen.

Häufige Fehler und Lösungen

  1. Fehler: "Unterstützt Objekt oder Methode nicht"

    • Überprüfe, ob die angegebenen Arbeitsblattnamen korrekt sind. Der Name muss genau mit dem Blatt übereinstimmen.
  2. Fehler: Das Makro stoppt bei leeren Zellen

    • Füge eine Überprüfung hinzu, um sicherzustellen, dass die Zelle nicht leer ist, bevor das Makro fortfährt.
  3. Fehler: Hyperlinks werden nicht erstellt

    • Stelle sicher, dass Du den richtigen Bereich für die Hyperlinks angibst und dass die Hyperlinks nicht vorher gelöscht werden.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch eine Checkliste in Excel erstellen:

  1. Erstelle eine neue Tabelle.
  2. Liste alle Werkzeuge manuell auf.
  3. Verwende die VERGLEICH- und WVERWEIS-Funktionen, um die benötigten Werkzeuge aus den anderen Blättern zu ziehen.

Für eine Werkzeugliste Excel-Vorlage kannst Du auch vorgefertigte Vorlagen online suchen, die Dir den Einstieg erleichtern.


Praktische Beispiele

  • Schreinerwerkzeug Liste: Du kannst eine Excel-Tabelle erstellen, die alle benötigten Werkzeuge für Schreinerarbeiten auflistet, z. B. Sägen, Hämmer und Maßbänder.
  • Spenglerwerkzeug Liste: Ähnlich kannst Du eine Liste für Spenglerwerkzeuge erstellen, wie Zangen, Schraubenzieher und spezielle Werkzeuge.

Nutze die oben genannte Makro-Technik, um diese Listen schnell zu erstellen und zu pflegen.


Tipps für Profis

  • Kommentiere Deinen VBA-Code, damit Du später besser nachvollziehen kannst, was jeder Schritt bewirken soll.
  • Experimentiere mit der Werkzeugliste Vorlage Excel, um das Layout und die Funktionalität weiter zu optimieren.
  • Verknüpfe die Werkzeugliste mit einer Ausgabeliste Vorlage, um die Nutzung der Werkzeuge zu verfolgen und zu steuern.

FAQ: Häufige Fragen

1. Wie kann ich die Werkzeugliste in PDF umwandeln?
Du kannst die Excel-Datei einfach unter Datei > Speichern unter und dann als PDF speichern.

2. Kann ich die Werkzeugliste in andere Programme importieren?
Ja, die meisten Programme unterstützen den Import von CSV-Dateien, die Du aus Excel exportieren kannst.

3. Wie kann ich die Werkzeugliste sortieren?
Du kannst die Sortierfunktion in Excel verwenden, um die Liste nach Namen, Anzahl oder anderen Kriterien zu sortieren.

4. Was ist der Vorteil einer Excel Werkzeugliste?
Eine Excel Werkzeugliste hilft, den Überblick über benötigte Werkzeuge zu behalten und ermöglicht eine effiziente Planung und Verwaltung von Arbeitsvorgängen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige