Anzeige
Archiv - Navigation
836to840
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
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wks bei for-next Schleife auslassen

wks bei for-next Schleife auslassen
20.01.2007 08:25:51
Andy
Hallo Leute.
Ich hab folgende Frage. Ich benutze For-Next Schleifen bei der Abfrage von Daten aus mehreren Tabellenblättern. (for each wks in .....) Nun will ich von 8 Blättern aber nur 6 auslesen, zwei Blätter sollen also ausgelassen werden.
Bisher hab ich das immer so gelöst, dass ich einen Wert z.B.a = 1 gesetzt habe und dann, wenn die zwei nicht gewollten Blätter in der Schleife dran waren, den wert per "If" auf 2 hab setzen lassen. Wenn der Wert 1 blieb, also bei allen anderen Blättern wurden die weiteren Anweisungen halt immer über "If" ausgeführt. If a = 1 then ....
Es klappt ganz gut, abe erscheint mir tierisch umständlich..
Habt Ihr nen besseren Weg? Im Archiv bin ich leider nicht fündig geworden :-(
Danke schonmal für Eure Hilfe!
Gruß
Andy

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wks bei for-next Schleife auslassen
20.01.2007 08:55:36
Ramses
Hallo
Schreib deine Tabellen die du prüfen willst in ein Array, und geht das Array durch
Option Explicit

Sub wksArrayCheck()
Dim wksArray()
Dim i
wksArray = Array("Tabelle1", "Tabelle3")
For i = 0 To UBound(wksArray)
MsgBox Worksheets(i + 1).Name
Next
End Sub

Gruss Rainer
AW: wks bei for-next Schleife auslassen
20.01.2007 09:03:19
Andy
Hallo Rainer!
Hm ja.. das klingt schonmal gut.
Allerdings weiss ich in diesem Fall nicht, wie die Namen der Tabellen sind die ich überprüfen will (werden nach und nach extern eingespielt und haben unterschiedliche Namen)
Ich kenne nur die Namen der Tabellen die ich nicht in der Schleife haben will.
(= "Gesamtauswertung" und "Diagramm"
kann ich die auch über so ein Array ausschließen?
Gruß
Andy
Anzeige
AW: wks bei for-next Schleife auslassen
20.01.2007 09:24:49
Ramses
Hallo
"...Allerdings weiss ich in diesem Fall nicht, wie die Namen der Tabellen sind die ich überprüfen will..."
I hate this kind of chatting :-)
Woher soll ich das denn wissen ?
Ganz abgesehen davon, kannst du das Array, wenn es einmal definiert und verfügbar ist, dynamisch füllen kannst
Option Explicit

Sub wksArrayCheck()
Dim wksArray() As Variant
Dim i
'Datenfeld auf 0 dimensionieren
ReDim wksArray(0)
'Deine Tabelle in das Array schreiben
wksArray(0) = "Tabelle1"
ReDim Preserve wksArray(UBound(wksArray()) + 1)
'Dein Anderer Code
'Deine Tabelle in das Array schreiben
wksArray(UBound(wksArray)) = "Tabelle3"
'Arrayfeld neu dimensionieren dass wieder was Platz hat
ReDim Preserve wksArray(UBound(wksArray()) + 1)
'Dein Anderer Code
'Deine Tabelle in das Array schreiben
wksArray(UBound(wksArray)) = "Tabelle5"
'Arrayfeld neu dimensionieren dass wieder was Platz hat
ReDim Preserve wksArray(UBound(wksArray()) + 1)
'Alle im Array gelisteten Sheets durchgehen
For i = 0 To UBound(wksArray) - 1
MsgBox Worksheets(wksArray(i)).Name
Next
End Sub

Gruss Rainer
Anzeige
Nachfrage: wks bei for-next Schleife auslassen
20.01.2007 10:26:07
Daniel
Hallo
woran kann man denn erkennen, welche Blätter auskelassen werden sollen?
Ist das ne Zufallsentscheidung oder gibt es da bestimmte Bedingungen?
Sind es immer genau 8 Blätter aus der gleichen Datei?
Gruß, Daniel
AW: Nachfrage: wks bei for-next Schleife auslassen
20.01.2007 10:48:59
Andy
Hallo Daniel!
Also die Blätter, die ausgelassen werden, haben immer den gleichen Namen.
"Diagramm" und " Gesamtauswertung"
Die, die neu hinzugefügt werden, kommen von Betriebsprüfern, die Ihre Ergebnisse von Ihrem Laptop auf meine interne Statistikdatei senden.. Es sind daher immer unterschiedlich viele Blätter in der Datei (manche Prüfer haben ja auch mal Urlaub *g*).
Das von Rainer ist mir irgendwie noch nicht ganz klar, bin grad schon am basteln, aber mit Arrays schein ich aufm Kriegsfuss zu stehen *grml*
Gruß
Andy
Anzeige
AW: Nachfrage: wks bei for-next Schleife auslassen
20.01.2007 11:10:40
Daniel
Hallo

Sub xxx
for each wks in ...
select case wks.name
case "Diagramm", "Gesamtauswertung"
'nix machen
case else
'hier dein Makro
end select
next
End Sub

so in etwa, nicht getestet
gruß, Daniel
SUUUUPER GEIL! DANKE!!
20.01.2007 11:18:25
Andy
HAMMER!
Super geil,super einfach und funzt perfekt!
Das nehme ich! Danke Daniel!
@ Rainer
Dir auch vielen Dank!!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige