Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
556to560
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
556to560
556to560
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Tabellen-Namen per VBA suchen und auswählen..
01.02.2005 23:13:08
Drazen
Hallo,
mit folgendem Code lese ich alle meine Tabellen-Blatt-Namen aus und bei gefundenem Begriff aus einer TextBox soll die Tabelle gelöscht werden:
Dim n As Integer
Application.DisplayAlerts = False
For n = 1 To Worksheets.Count
If Worksheets(n).Name Like txtFirmenname.Text Then Worksheets(n).Delete
Next n
Application.DisplayAlerts = True
Das funktioniert soweit auch aber nicht sehr stabil, also manchmal bleibt das Program an disem Code hängen, gibt es da etwas genaueres wie "match" oder so?
Wenn ja wie müsste der Code dann gehen?
Vielen Dank für Eure Hilfe, dies hier ist das beste Forum überhaupt.
Grüsse
Drazen

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen-Namen per VBA suchen und auswählen..
Reinhard
Hi Drazen,
wo bleibt es hängen? In welcher Zeile?
Wie heißen deine Tabellenblätter?
Gruß
Reinhard
AW: Tabellen-Namen per VBA suchen und auswählen..
02.02.2005 00:05:57
Drazen
Hallo Reinhard,
das ist es ja, die Namen der Tabellen sind variabel und werden in Abhängikkeit von Bestellungen und Änderungen erneut vergeben, deshalb wollte ich ja, dass alle Namen durchgelaufen werden und bei Übereinstimmung mit der Vorgabe aus z.B. txtFirmenname aktiviert werden, und es bleibt manchmal hängen bei:
If Worksheets(n).Name Like txtFirmenname.Text
und dieser Text ist dann highlighted, manchmal läuft das Ding aber auch einen ganzen Tag ohne motzen, ich kapiers nicht...
Grüsse
Drazen
Anzeige
AW: Tabellen-Namen per VBA suchen und auswählen..
PeterW
Hallo Drazen,
warum benutzt du den Operator Like und nicht =? Stabiler dürfte eine For Each - Schleife laufen (nicht getestet, soll nur das Prinzip zeigen!):
Dim wks as Worksheet
For each wks in Worksheets
if wks.Name = txtFirmenname then wks.Delete
Next
Gruß
Peter
AW: Tabellen-Namen per VBA suchen und auswählen..
02.02.2005 00:27:26
Drazen
Hallo alle zusammen,
ja mit For each.. klappts ich hoffe das bleibt so...
Vielen Dank für die schnelle Hilfe.
Grüsse
Drazen
AW: Tabellen-Namen per VBA suchen und auswählen..
PeterW
Hallo Drazen,
es wird so bleiben. :-) Hintergrund ist einfach erklärt: eine For To Schleife muss in einen Fehler laufen, wenn du von anfangs 5 Worksheets eines löschst. Wenn die Schleife dann das 5. Blatt abfragen will, wird sie es nicht finden - und sauer sein. ;-) Was ich allerdings noch nicht verstehe ist die Tatsache, dass es keine Fehlermeldung gibt.
Gruß
Peter
Anzeige
AW: Tabellen-Namen per VBA suchen und auswählen..
02.02.2005 00:56:21
Drazen
Hallo Peter,
nein kein Nachfrage nach Variablen oder irgendwas anderes, nur highlighted, weiss auch nich wieso, aber wie gesagt das Ding lief ja auch einen ganzen Tag mal auch ganz normal, egal wie viele Blätter hinzugefügt oder entfernt wurden.
Ich hab da noch ne Frage dazu, wie mach das wenn ich einige Blätter habe die alle mit "BFR..." anfangen und dann als Zusatz im Namen ein Datum oder eine Zahl haben, diese Blätter möchte ich alle in eine ListBox einlesen, wie gibt man ein Suchkriterium wie z.B. "BFR***" an? Geht das überhaupt?
Grüsse
Drazen
vergessen auf offen zu stellen...
02.02.2005 00:58:20
Drazen
Hab vergessen den Thread auf offen zu stellen...
Anzeige
jetzt isser wieder zu :-)
Reinhard
Hi Drazen,
kannst das ja durch ne Antwort wieder korrigieren*g
wie wärs mit
if instr(xyz.name,"BFR" > 0 then ' kann auch instr("BFR",xyz.name) sein, verwechsle das immer
oder
if left(xyz.name,3)="BFR" then
Gruß
Reinhard
AW: jetzt isser wieder zu :-)
02.02.2005 01:14:54
Drazen
Hallo Reinhard,
ich bin in VBA immer noch feste am lernen, was meinst Du mit instr? Ist das irgendein konstanter Begriff von dem ich noch nichts weiss? und xyz muss ich dann auch als Strin dimensionieren oder?
Grüsse
Drazen
AW: Tabellen-Namen per VBA suchen und auswählen..
PeterW
Hallo Darzen,
zum Einlesen in eine ListBox ist in diesem Fall der Like-Operator sinnvoll. Gib in deinem Code irgendwo das Wort Like ein, markiere es und drücke dann F1. Für das bedingte Einlesen ist die AddItem-Methode der richtige Weg (ist auch in der VBA-Hilfe beschrieben).
Gruß
Peter
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige