Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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!

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.

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

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.

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!

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

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige