Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
188to192
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
188to192
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Arrays ?

Dynamische Arrays ?
02.12.2002 16:45:18
Franz
Hallo,

ich hab mehrere Tabellenblätter (Fragebögen) in die jeweils verschieden Ergebnisse eingetragen werden und auf dem jeweiligen Tabllenblatt zu einem Gesamtergebnis zusammengerechnet werden. Diese Gesamtergebnisse der einezelenen Blätter sollen alle auf einem einzigem Deckblatt noch einmal automatisch eingetragen werden. Das sollte so aussehen, dass in einer Zelle der Name des Blatts (d.h des Fragebogens) und eine Zelle darunter das Ergebnis eingetragen wird.

Das funktioniert solange ganz gut, wie ich immer die selbe Anzahl und die gleichen Namen der Blätter hab, sobald ich aber zum Beispiel ein Fragebogen kopiere und ein neues Blatt somit hinzukommt, werden nur die Ergebnisse von den "alten" Blättern übernommen und nicht das von dem neuen.

Wie kann ich jetzt meine Array-anweisung dazu bekommen auch das neue Blatt zu berücksichtigen ohne das ich den Code von Hand anpassen muß ? Wie kann ich die Namen der Tabellenblätter auslesen ?

Das war jetzt viel Text, aber ich hoffe, dass mein Problem verständlich machen konnte, falls nicht einfach nochmal nachfragen.

Gruß
Franz

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Dynamische Arrays ?
02.12.2002 16:51:54
BCM
Hi Franz,
was Du brauchst ist etwa folgendes:

i = 0
For Each sh In ActiveWorkbook.Worksheets
If sh.Name <> "Deckblatt" Then
Sheets("Deckblatt").Cells(1 + i, 1).Value = sh.Name
Sheets("Deckblatt").Cells(2 + i, 1).Value = sh.Cells(1, 1).Value
i = i + 2
End If
Next

Die Adressierungen mußt Du Dir noch anpassen, aber sonst müßte es funktionieren.
cu
BCM

Re: Dynamische Arrays ?
02.12.2002 16:57:53
Christian
Dim i as Integer
dim names() as String

Redim names(Sheets.Count)

For i = 1 to Sheets.Count
names(i) = Sheets(i).Name
Next i

Jetzt hast du ein Array mit den Tabellenblätternamen
Du kannst ein array auch noch vergrößern wenn schon daten drin sind.

Redim Preserve names(neue zahl)

jetzt bleiben die daten erhalten

Anzeige
Re: Dynamische Arrays ?
02.12.2002 17:35:03
Franz
Danke Christian und BCM, das ging wirklich fix !

Sorry, ich hab einige Infos noch vergessen bzw. ungenügend präzessiert.

Die Datei hat 38 Blätter, davon sind 3 Blätter immer zusehen, und die restlichen 35 können beim Start der datei über ein UserForm wahlweise aus und eingeblendet werden. Auf diesen 35 Blättern werden Ergebnisse eingetragen, die dann auf dem einen der drei immer sichtbaren Blätter automatisch eingetragen werden sollen.

Die Funktion für die Ergebnisübertragung hab ich aus einem früheren Projekt übernommen, bei dem man aber nicht die Blätter ein- und ausgeblendet hat und es auch viel weniger Blätter waren.

Falls es hilft könnte ich auch einen Teil des vorhanden Codes hier posten.

Ich hoffe jetzt, das es klarer geworden ist?

Gruß
Franz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige