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

Tabellenblatt=Feldinhalt?

Tabellenblatt=Feldinhalt?
05.11.2003 09:50:58
golem
Hallo,
wie kann ich durch eine Schleife abfragen ob der Inhalt eines string-Arrays gleich dem Tabellennamen ist?

for i=0 to 100
For Each ws In ThisWorkbook.Worksheets
for x=0 to 100
if arr(x)=ws.NAme then cells(...)=arr(x)
next
next
next

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattname im Feld?
05.11.2003 10:24:39
Galenzo
Hallo,
etwas kryptisch, deine Fragestellung....
Ich hab's so verstanden:
Es soll für alle Tabellenblätter geprüft werden, ob der Name des Blattes auch in einer Liste vorhanden ist oder nicht.
Hab' ich so gelöst:


Private Sub CommandButton1_Click()
Dim As Variant
Dim arr As Variant
Dim wks As Worksheet
    
    arr = Array("Tabelle1", "Tabelle2", "Tabelle9")

    For Each wks In Worksheets
        v = Application.Match(wks.Name, arr, 0)
            If IsError(v) Then
                MsgBox (wks.Name & vbCrLf & " nicht im Feld")
            Else
                MsgBox (wks.Name & vbCrLf & " im Feld enthalten")
            End If
    Next

End Sub

Viel Spaß beim Nachbasteln und viel Erfolg dabei!
Anzeige
AW: Tabellenblattname im Feld?
05.11.2003 10:36:33
golem
Hi Galenzo,
dein Code ist ein brauchbarer Ansatz aber nicht ganz nachvollziehbar für mich z.B.
was bedeutet v = Application.Match(wks.Name, arr, 0)
In der XL hilfe habe ich den nicht gefunden (weder nur "match" noch beides zusammen).
AW: ein paar Erklärungen zur Prozedur
05.11.2003 10:49:52
Galenzo
Hallo golem,
MATCH ist einfach die in Excel bekannte Funktion =VERGLEICH(...) im VBA angewendet.
Dazu schaust du in die EXCEL-Hilfe zu dieser Funktion

Noch ein paar Erläuterungen zu der Prozedur.
Mit arr=Array(blabla... lege ich erstmal nur das Array mit den vorgegebenen Namen fest. Dieses Array müßtest du aber laut Aufgabenstellung schon da haben.
Nun werden alle Blätter der Mappe durchlaufen (das ist die for..each.. Schleife).
Es wird nun mit VERGLEICH geprüft, ob der Name des gerade durchlaufenen Blattes (Worksheet.Name) irgendwo in dem Vorgabefeld vorkommt. Wird er gefunden, gibt's eine Indexnummer zurück, die die Stelle angibt, an der's gefunden wurde. Wurde es nicht gefunden, gibT VERGLEICH einen Fehler zurück. Dieses wir in der Zeile if iserror(v) abgefragt - wenn's kein Fehler, dann kommt die erste Message, wenn's ein Fehler ist, kommt die 2. Message (vbCrLF ist dabei nur ein Zeilenumbruch innerhalb der Meldung)

Ist die Aufgabe damit gelöst oder trifft meine Lösung den Nagel noch nicht auf den Kopf - du schreibst ja, daß es NUR ein ANSATZ ist...

mfg
Anzeige
AW: ein paar Erklärungen zur Prozedur
05.11.2003 11:02:40
golem
Hallo,
habe in dem Beitrag weiter oben (zu Hajo_Zi) geantwortet, da steht auch der Code...

Es ist der Nagelkopf getroffen aber nur mit dem Hammerstiel :)

Gruß
Golem

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige