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

Das habe ich noch nie erlebt!!!

Das habe ich noch nie erlebt!!!
08.01.2004 12:18:22
Michael
Hallo,
habe etwas bemerkenswertes erlebt.folgender Codeausschnitt geht nicht in die If rein obwohl Sheetname und Feldelementname gleich sind:

For i = 0 To 500
If ws.Name = Arr(i) Then
MsgBox "Gleich"
Arr(i) = Arr(i) & "Kam vor"
Exit For
Else
k = k + 1
End If

Next
Woran liegt das ???
Kann das sein?
Bitte sagt mir warum mir immer so was passiert?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Das habe ich noch nie erlebt!!!
08.01.2004 12:22:02
K.Rola
Hallo,
ohne zu wissen, was im Arr() steht, ist das ein Ratespiel.
Poste doch mal deinen ganzen Code einschließlich Deklarationen.
Gruß K.Rola
Okay
08.01.2004 12:28:57
Michael
Hallo K.Rola!
Bei einem anderen Mappe ging es, leider nicht in meiner jetztigen (500 Tabellenblätter=25MB)


Sub Testen()
Dim ws, i%, Arr(501), b%
Sheets("Tabelle1").Select
For i = 0 To 500
Arr(i) = Cells(1 + i, 30)
Next
For Each ws In ActiveWorkbook.Worksheets
If Left(ws.Name, 1) = "6" Then
Sheets(ws.Name).Select
For i = 0 To 500
If ws.Name = Arr(i) Or Arr(i) = ws.Name Then '  '''Ist a=b und b=a dasselbe?
Arr(i) = Arr(i) & "Kam vor"
Exit For
End If
Next
End If
Next
Sheets("Tabelle1").Select
For i = 0 To 500
Cells(1 + i, 32) = Arr(i)
Next
End Sub

Anzeige
AW: Okay
08.01.2004 12:41:46
K.Rola
Hallo,
prinzipiell läuft der Code.
Wozu soll das dienen? Sheets(ws.Name).Select

so reichts:
ws.Name = Arr(i) Then
Gruß K.Rola
AW: Okay
08.01.2004 12:45:45
Michael
Super schnelle Antwort, danke.
Der Code dient dazu zu überprüfen ob alle Sheets in der Mappe existieren.
In Arr(i) stehen alle Sheetnamen. Ich wollte so prüfen ob auch wirklich alle drin vorkommen und welche fehlen (Es dürften etwa 120 fehlen).
Gibst da noch eine elegantere Möglichkeit?
Gruß
Michael
AW: Okay
08.01.2004 12:51:26
K.Rola
Hallo,
wenn ich das richtig verstehe, stehen die Blattnamen in einer Tabelle.
Ist gesichert, dass da alle erforderlichen Blattnamen vorhanden sind?
Gruß K.Rola
Anzeige
AW: Okay
08.01.2004 12:53:36
Michael
Ja, es gibt aber wie gesagt welche für die es noch kein Sheet gibt.
Wenn dem so wäre wollte ich eben alle Nr mit "&kam vor" mit Hilfe des Befehls sheets.add
ein Sheet zuweisen.
gruß
Michael
AW: Okay
08.01.2004 12:51:45
Michael
Kann der Vergleich vielleicht nicht hinhauen, wenn die Zelle nicht als Zahl formatiert war(eine Zahl aber drin steht), nachdem XL die Zelle eingelesen hat bei Arr(i)?
AW: Okay
08.01.2004 13:01:49
K.Rola
Hallo,
eher nicht, obwohl es zur guten Programmierung gehört, einen Datentyp
möglichst genau anzugeben: Dim Arr(501) as string
und auch entsprechend zuzuweisen.
arr(i) = cells(i,30).Text
Gruß K.Rola
Anzeige
AW: Okay
08.01.2004 13:10:53
Michael
Hallo, habe es umformatiert aber er geht immer noch nicht in die If Anweisung rein:-(
Kann es das geben?
Wie wäre folgender Code-Idee:
Arr(i) einlesen; zu allen Elementen ein Sheet erstellen,falls es schon existiert nimm das nächste i.
Wie programmiert man das "falls es schon existiert" ?
gruß und danke dass du bis jetzt noch nicht aufgegeben hast!!!
Michael
bist Du gegangen? schade
08.01.2004 13:37:21
Michael
Habs gelöst, mit dem andereem Thread THX! o.T.
09.01.2004 08:20:16
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige