Excel: Bestimmte Tab-Blätter durchsuchen

Hallo zusammen,
habe Projekt-Exceldatei mit z.Zt. ca. 30 Tabellenblättern :
Ca. 20 Projekt-Tabellenblätter enthalten, jeweils für ein Projekt, spezifische Daten. Diese werden per Makro ausgelesen und in die übrigen Daten-Tabellenblätter eingetragen.
Problem:
Das Makro muss alle Projekt-Tabellenblätter durchlaufen (deren Anzahl sich im Laufe der Zeit permanent erhöhen wird), um alle relevanten Daten für die Auswertung zu ermitteln.
Fragen:
Wie erreiche ich, dass nur, aber alle Projekt-Tabellenblätter mit unterschiedlichen Namen erfasst werden ? (Die Bezeichnung der Tabellenblätter könnte frei gewählt werden, würde das Ganze aber unverständlicher machen, da mehrere Mitarbeiter die Datei nutzen sollen).
Wäre es sinnvoll, die Daten-Tabellenblätter in einer Arbeitsmappe separat als Datei anzulegen (bin gerade am Anfang und die Datei hat schon mehrere MB Größe) ?
Bin „Makro-Newbie“, würde mich über Unterstützung freuen:
Danke im Voraus
BW

Hallo zusammen,

Hi,
ich habe deine Frage nicht vollständig begriffen, aber einen Tipp habe ich trotzdem:
Beschäftige dich mal ein wenig mit Datenbanken (z.B. Access).
Ist doch damit um einiges einfacher und schneller zu realisieren.
Excel ist nicht dafür geeignet, so viele Daten zu verwalten.

Gruß.Timo

habe Projekt-Exceldatei mit z.Zt. ca. 30 Tabellenblättern :
Ca. 20 Projekt-Tabellenblätter enthalten, jeweils für
ein Projekt, spezifische Daten. Diese werden per Makro
ausgelesen und in die übrigen Daten-Tabellenblätter
eingetragen.
Problem:
Das Makro muss alle Projekt-Tabellenblätter durchlaufen
(deren Anzahl sich im Laufe der Zeit permanent erhöhen wird),
um alle relevanten Daten für die Auswertung zu ermitteln.
Fragen:
Wie erreiche ich, dass nur, aber alle
Projekt-Tabellenblätter mit unterschiedlichen Namen
erfasst werden ? (Die Bezeichnung der Tabellenblätter könnte
frei gewählt werden, würde das Ganze aber unverständlicher
machen, da mehrere Mitarbeiter die Datei nutzen sollen).
Wäre es sinnvoll, die Daten-Tabellenblätter in einer
Arbeitsmappe separat als Datei anzulegen (bin gerade am Anfang
und die Datei hat schon mehrere MB Größe) ?
Bin „Makro-Newbie“, würde mich über Unterstützung freuen:
Danke im Voraus
BW

Hallo Timo,

Hi,
ich habe deine Frage nicht vollständig begriffen,

eine vereinfachte Ausführung würde mir schon helfen:
Makro-Befehl(Routine), die alle Tabellenblätter einer Datei, vom ersten bis zum letzten Blatt, aufruft (öffnet), unabhängig vom Namen des Tabellenblatts:
Tabelle1 wird geöffnet (dann die Daten gesucht), Tabelle2 wird geöffnet … usw.
ich find´s einfach nicht.

aber einen Tipp habe ich trotzdem:
Beschäftige dich mal ein wenig mit Datenbanken (z.B. Access).

Das beherrscht keiner von uns, und zum Erlernen haben wir nicht die Zeit.

Ist doch damit um einiges einfacher und schneller zu
realisieren.
Excel ist nicht dafür geeignet, so viele Daten zu verwalten.

Könnte die Datei splitten

Gruß.Timo

Danke erstmal
BW

Hallo,

also bzgl. des durchsuchens kann ich dir nicht viel sagen, da du nicht genau mitteilst was und wie du suche willst. Aber bzgl. des Oeffnens der Atbeitsblaetter koennte ich die einen Tipp geben. Folgend eine Routine aus Access, die aber unter EXCEL auch so aehnlich funktonieren sollte.

Allgemein geht der Zugriff ueber Workbook.Worksheets

Tschau
Peter

Public Function GetWorkSheetListFromXSL()
'=============================================================
’ General.GetWorkSheetListFromXSL
'-------------------------------------------------------------
’ Zweck
’ Autor : Peter Kuehner, Samstag, 22. November 2003
’ Hinweise :
'-------------------------------------------------------------

Dim xlsObj As Object
Dim NewMap As Object
Dim sheetCount As Integer
Dim tmpString As String

On Error GoTo HandleErr

’ g_inFileName ist hier eine globale Variable mit dem XLS-Dateinamen
If IsNull(g_inFileName) Or g_inFileName = „“ Then
Exit Function
End If

Set xlsObj = CreateObject(„excel.application“)

xlsObj.Visible = False
Set NewMap = xlsObj.Workbooks.Open(g_outFileName)

tmpString = „“
For sheetCount = 1 To NewMap.Worksheets.Count
MsgBox „A-Blatt:“ & NewMap.Worksheets(sheetCount).Name
Next sheetCount

xlsObj.Quit
Set xlsObj = Nothing

ExitHere:
Exit Function

’ VBA-Codekommentierungs- und Fehlerhandler-Add-In hat Fehlerhandlerblock hinzugefügt. Dieser Codeblock darf NICHT bearbeitet werden.
’ Automatischer Fehlerhandler zuletzt aktualisiert am Samstag, 22. November 2003 12:42:10
HandleErr:
Select Case Err.Number
Case Else
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, „General.GetWorkSheetListFromXSL“
End Select
Resume ExitHere
’ Ende des Fehlerhandlerblocks.
End Function