Rückgabewert für gedrückten Butto

Dieses Thema Rückgabewert für gedrückten Butto im Forum "Windows XP Forum" wurde erstellt von bythom, 12. Mai 2006.

Thema: Rückgabewert für gedrückten Butto Hallo allerseits, ich hab da mal ein kleines Problem. Kennt jemand eine Möglichkeit, um festzustellen welcher...

  1. Hallo allerseits,

    ich hab da mal ein kleines Problem. Kennt jemand eine Möglichkeit, um festzustellen welcher Button bei einer Excelinternen VbOKCancel - Meldung gedrückt wurde? Ich möchte mittels Makro ein zuvor angegebenes Tabellenblatt löschen. An der Stelle

    Sheets(Eingabe).Delete

    bring Excel eine VbOKCancel Meldung

    >>In den Arbeitsblättern, die Sie löschen möchten könnten Daten vorhanden sein. Um die Blätter endgültig zu löschen, drücken Sie Löschen.<<

    Bei Löschen funktioniert es. Beim Betätigen von Abbrechen wird das Blatt zwar nicht gelöscht, der Makro läuft aber weiter und bringt mir die von mir erstellte Meldung, dass das Blatt gelöscht wurde. Ich müsste einen Zähler verändern um aus dem Makro rauszuspringen.

    Makro sieht bisher so aus:

    Code:
    Sub Blatt_mit_Mbox_Loeschen()
    z = 0
    Dim Name, Titel, Eingabe
    Titel = Tabellenblatt löschen
    Eingabe = LCase(InputBox(Mldg, Titel))
    'alle Arbeitsblätter abfragen
    For Each ws In Worksheets
    If Eingabe =  Then Exit Sub
    If z = 2 Then Exit Sub
    If LCase(ws.Name) = Eingabe Then
        If Eingabe =  Then Exit Sub
        z = 2
            Sheets(Eingabe).Delete
    'Hier erscheint die VbOkCancel Meldung und nach Betätigen von Abbrechen wird der Makro weiter ausgeführt
        MsgBox Tabelle  & Eingabe &  wurde gelöscht
    End If
    'hier wird die Schleife abgebrochen, wenn es nicht das letzte Tabellenblatt ist
    If z = 2 Then Exit Sub
    Next
    MsgBox Tabelle  & Eingabe &  ist nicht vorhanden
    End Sub
    
     
  2. Hallo bythom,

    am einfachsten ist es diese Meldung erst garnicht erscheinen zu lassen.

    In etwa so:
    Code:
    Sub Blatt_mit_Mbox_Loeschen()
    
      Const c_Titel = Tabellenblatt löschen
      Const c_Mldg = Bitte geben sie den Namen des Tabellenblattes an.
      Dim Eingabe As String, bGefunden As Boolean
      Dim ws As Worksheet
    
      Eingabe = InputBox(c_Mldg, c_Titel)
     ->Abbruch oder keine Eingabe?
      If Eingabe =  Then Exit Sub
      
     ->alle Arbeitsblätter abfragen
      bGefunden = False
      For Each ws In Worksheets
        If LCase(ws.Name) = LCase(Eingabe) Then
         ->Nachfrage abschalten
          Application.DisplayAlerts = False
          ws.Delete
         ->Nachfrage anschalten
          Application.DisplayAlerts = True
          bGefunden = True
          MsgBox Tabelle  & ws.Name &  wurde gelöscht
        End If
      Next
      
      If Not bGefunden Then MsgBox Tabelle  & Eingabe &  ist nicht vorhanden
      
    AUFRAEUMEN:
      Set ws = Nothing
    End Sub
    Gruß Matjes :)
     
  3. Danke, funktioniert Klasse.

    Sorry, dass ich mich erst jetzt melde, ich war übers Wochenende mal kurz weg
     
Die Seite wird geladen...

Rückgabewert für gedrückten Butto - Ähnliche Themen

Forum Datum
Shell in VB und Rückgabewerte Windows XP Forum 6. Sep. 2005
batch: rückgabewert wie? Webentwicklung, Hosting & Programmierung 12. Juni 2005
Rückgabewert von mysql_query() Webentwicklung, Hosting & Programmierung 26. Nov. 2003
Software für Partition Verwaltung Software: Empfehlungen, Gesuche & Problemlösungen 29. Nov. 2016
windows für kinder sicher machen ? Windows 10 Forum 11. Nov. 2016