Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Probleme mit "Such"-Makro

Betrifft: Probleme mit "Such"-Makro von: Andi
Geschrieben am: 27.08.2004 08:54:27

Hi,

hae ein Problem mit folgendem MAkro:

Sub BlattAuswählen()
Dim q
Application.ScreenUpdating = False
On Error Resume Next
Dim wks As Worksheet
Dim strWKS As String
neuerversuch:
strWKS = InputBox("Bitte Prüfblattnummer eingeben:")
For Each wks In Worksheets
    If strWKS = "" Then Exit Sub
        If InStr(UCase(wks.Name), UCase(strWKS)) > 0 Then
        wks.Select
        Exit Sub
        End If
Next wks
q = MsgBox("Blattname existiert nicht. Neues Prüfblattlatt anlegen?", vbYesNo)
If q = vbNo Then Exit Sub
If q = vbYes Then
Call Makro_neues_Blatt_anlegen
End If
Application.ScreenUpdating = True
End Sub


Die Meldung in der MsgBox kommt immer, auch wenn das Blatt existiert...

Kann jemand helfen?

Gruß Andi
  


Betrifft: AW: Probleme mit "Such"-Makro von: JensD
Geschrieben am: 27.08.2004 09:10:11

Hi

Das Programm Funktioniert eigenedlich.
Ich hab es noch einwenig umgebaut aber sonst konnte ich keinen Fehler finden.

Sub BlattAuswählen()
Dim q
Dim wks As Worksheet
Dim strWKS As String

Application.ScreenUpdating = False
strWKS = InputBox("Bitte Prüfblattnummer eingeben:")
If strWKS = "" Then Exit Sub

For Each wks In Worksheets
    If UCase(wks.Name) = UCase(strWKS) Then
        wks.Select
        Application.ScreenUpdating = True
        Exit Sub
    End If
Next wks

q = MsgBox("Blattname existiert nicht. Neues Prüfblattlatt anlegen?", vbYesNo)
If q = vbNo Then Exit Sub
Call Makro_neues_Blatt_anlegen
Application.ScreenUpdating = True
End Sub


Gruß Jens


  


Betrifft: Probleme mit "Such"-Makro von: Andi
Geschrieben am: 27.08.2004 09:14:27

Leider kommt immer noch zuerst die Box mit der Abfrage ob ein Blatt angelegt werden soll...
Sie soll aber nicht kommen, wenn das Blatt schon existiert.
Vielleicht kann mir ja noch mal jemand helfen.

Gruß Andi


  


Betrifft: AW: Probleme mit "Such"-Makro von: JensD
Geschrieben am: 27.08.2004 09:20:29

Teste doch mal das Programm Schritt für Schritt. F8

Ich hab alles versucht, die Eingabe kann nur nicht stimmten.
Du gibst scheinbar immer einen Namen ein den es nicht gibt.
Sollte sich ein Leerzeichen eingeschlichen haben, dazu hab ich mal noch Trim eingefügt.

Sub BlattAuswählen()
Dim q
Dim wks As Worksheet
Dim strWKS As String

Application.ScreenUpdating = False
strWKS = InputBox("Bitte Prüfblattnummer eingeben:")
If strWKS = "" Then Exit Sub

For Each wks In Worksheets
    If Trim(UCase(wks.Name)) = Trim(UCase(strWKS)) Then
        wks.Select
        Application.ScreenUpdating = True
        Exit Sub
    End If
Next wks

q = MsgBox("Blattname existiert nicht. Neues Prüfblattlatt anlegen?", vbYesNo)
If q = vbNo Then Exit Sub
Call Makro_neues_Blatt_anlegen
Application.ScreenUpdating = True
End Sub