Inhalt mehrer Tabellenblätter

31/08/2010 - 14:02 von Julian Zimmermann | Report spam
zu schnell weggeschickt, war noch gar nicht fertig..



Hallo an diese Liste,

habe folgendes Problem und schon 2 Tage im WWW gesucht aber nichts
bruachbares zur Lösung gefunden:

Ich habe eine Excel-Datei in der ca. 400 Tabellenblàtter intergriert
sind. Diese Tabellenblàtter (TB) sehen von der Form alle gleich aus
(Briefkopf - extrahiert aus Word) mit unterschiedlichen Feldenrn wie :
Datum, Sachbearbeiter, Aktenzeichen, Adressat, etc. - alles in allem ca.
60 Datenfelder). Jedes Datenfeld ist jedoch in jedem TB an der gleichen
Stelle: zb.

Datum Feld:D5
Uhrzeiten: Feld D6
Adresse Feld: A3-A6
etc.

Nun brauche ich ein Makro oder Script, welches alle TB ausliest und die
Daten in ein neues TB einliest:
Sachbearbeiter nebeneinander in eine Zeile (z.B. F4, G4, H4 .)
Aktenteichen nebeneinander (z.B. F5, G5, H5,.)

sodass ich alle Feldwerte (Kategorienweise) nebeneinander in einem neuen
TB stehen habe (zwecks) Überblick.
Die vorhandenen TB haben verschiedenen Namen: in der unregelmàssige
Nummern enthalten sind: Z.B. (07080001_NoRestriction,
07080004_NoRestriction, 07080005_NoRestriction, 07080007_NoRestriction,
070800011_NoRestriction)
Kann ich die Namen der TB mit MAkro umbenennen in 0001, 0002, 0003, ?

Vielleicht kann mir jemanden helfen.
Das wàre super nett und eilig.

Viele Grösse,
Julian Zimmermann.
 

Lesen sie die antworten

#1 Andreas Killer
31/08/2010 - 15:59 | Warnen spam
Am 31.08.2010 14:02, schrieb Julian Zimmermann:

Ich habe eine Excel-Datei in der ca. 400 Tabellenblàtter intergriert sind. Diese Tabellenblàtter (TB) sehen von der Form
alle gleich aus (Briefkopf - extrahiert aus Word) mit unterschiedlichen Feldenrn wie : Datum, Sachbearbeiter,
Aktenzeichen, Adressat, etc. - alles in allem ca. 60 Datenfelder). Jedes Datenfeld ist jedoch in jedem TB an der
gleichen Stelle: zb.

Datum Feld:D5
Uhrzeiten: Feld D6
Adresse Feld: A3-A6
etc.

Nun brauche ich ein Makro oder Script, welches alle TB ausliest und die Daten in ein neues TB einliest:
Sachbearbeiter nebeneinander in eine Zeile (z.B. F4, G4, H4 .)
Aktenteichen nebeneinander (z.B. F5, G5, H5,.)



Sub TabellenListe()
Dim WS As Worksheet, I As Long, J As Long
Dim Felder As Range, R As Range

'Datum, Uhrzeit, Adresse
Set Felder = Union(Range("D5"), Range("D6"), Range("A3:A6"))

'Neues Blatt hinzufügen
Sheets.Add
'Durchlaufe alle Blàtter
For Each WS In Sheets
'Wenn es nicht unseres ist
If WS.Name <> ActiveSheet.Name Then
'Neue Zeile
I = I + 1
'Spalte A
J = 1
'Namen eintragen
Cells(I, J) = WS.Name
'Durchlaufe alle Felder
For Each R In Felder
'Nàchste Spalte
J = J + 1
'Erzeuge Formeln
Cells(I, J).Formula = "=" & WS.Range(R.Address).Address(External:=True)
Next
End If
Next
End Sub


Die vorhandenen TB haben verschiedenen Namen: in der unregelmàssige Nummern enthalten sind: Z.B.
(07080001_NoRestriction, 07080004_NoRestriction, 07080005_NoRestriction, 07080007_NoRestriction, 070800011_NoRestriction)
Kann ich die Namen der TB mit MAkro umbenennen in 0001, 0002, 0003, ?


Ja, ist aber nicht nötig.

Sub TabellenUmbenennen()
Dim WS As Worksheet, I As Long

'Nàchste Nummer falls es so ein Blatt schon gibt
On Error GoTo NextNumber
'Durchlaufe alle Blàtter
For Each WS In Sheets
NextNumber:
I = I + 1
WS.Name = Format(I, "0000")
Next
End Sub

Andreas.

Ähnliche fragen