Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arbeitsblätter durchsuchen funktioniert nicht

Arbeitsblätter durchsuchen funktioniert nicht
Bowl
Mahlzeit zusammen,
mit dem hier:
Sub Speichern_Click()
Dim ws As Worksheet, bFound As Boolean
For Each ws In ActiveWorkbook.Sheets
If ws.Name = ActiveSheet.Cells(3, 2).Value Then          Nummer/Tabellenblatt mit dem Namen  _
vorhanden
MsgBox ("Auftrag schon vorhanden")
Exit Sub
End If
Next ws
If bFound = False Then
Call Anlegen
ElseIf [B3] = "" Then
MsgBox ("Auftragsnummer eingeben")
Exit Sub
End If
End Sub
durchsuch ich die vorhandenen Arbeitsblätter ob schon ein Blatt mit dem namen aus B3 des aktuellen Blattes existiert, falls ja MSG und Abbruch wenn nein dann soll Anlegen aufgerufen werden, wenn B3 leer ist soll MSG-Box erscheinen und der Abbruch erfolgen.
Allerdings funktioniert das ganze nicht mehr (ich weiß wirklich nich mehr was ich geändert hab... :/)
Jemand ne IDee worans liegen könnte?
Viele Grüße und Danke im Vorraus
Bowl
wenn nein
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Arbeitsblätter durchsuchen funktioniert nicht
20.08.2009 12:50:50
D.Saster
Hallo,
was soll bFound? Ist immer false.
Sub Speichern_Click()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
If ws.Name = ActiveSheet.Cells(3, 2).Value Then
MsgBox ("Auftrag schon vorhanden")
Exit Sub
End If
Next ws
If Cells(3, 2) = "" Then
MsgBox ("Auftragsnummer eingeben")
Else
Call Anlegen
End If
End Sub

Gruß
Dierk
Anzeige
etwas logischer
20.08.2009 13:21:33
Erich
Hi Vorname,
außer zum bFound gibt es noch mehr Anmerkungen zu deinem Code.
Wenn B3 leer ist, kann man sich den kompletten Rest sparen. Also prüft man zuerst, ob B3 gefüllt ist.
Wenn ja, prüft man, ob das Blatt schon existiert, wenn nein, legt man es dann an.
So OK?

Option Explicit
Sub Speichern_Click()
Dim ws As Worksheet
With ActiveSheet
If IsEmpty(.Cells(3, 2)) Then
MsgBox ("Auftragsnummer eingeben")
ElseIf WorksheetEx(CStr(.Cells(3, 2).Value)) Then
MsgBox ("Auftrag schon vorhanden")
Else
Call Anlegen
End If
End With
End Sub     ' wie kam hier "End Function" hin?
Function WorksheetEx(strNam As String) As Boolean
On Error Resume Next
WorksheetEx = Worksheets(strNam).Index > 0
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: etwas logischer
20.08.2009 15:29:20
Bowl
Vielen Dank schonmal, klingt zumindest mal einleuchtend.
Hatte den anderen Code nur wo übernommen und hat erst funktionert, nur wusst ich nich mehr wirklich was ich geändert habe.
Testen kann ich das ganze vermutlich erst am Montag, RÜckmeldung erfolgt also erst dann
Grüße und nen schönen Nachmittag/Abend in Biergarten/See/Freibad und Co bzw. erst noch viel "Spaß" beim Schwitzn in den restlichn Arbeitsstundn
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige