Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Application.Inputbox - Abbruch

Application.Inputbox - Abbruch
Ralf_P
Hallo,
ich krame jetzt schon ewig im Archiv herum, aber ich komme nicht weiter.
Private Sub CommandButton1_Click()
Dim Auswahl As Variant
Dim Formel As String
Me.Hide
Set Auswahl = Application.InputBox("Wählen Sie den zu summierenden Bereich.", , , , , , , 8)
If Auswahl Is Nothing Then Exit Sub '

Was mache ich denn falsch, um bei Abbruch ohne Fehler auszusteigen?
Gruß, Ralf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Application.Inputbox - Abbruch
21.05.2010 12:27:33
Hajo_Zi
Halo Ralf,
Inputbox Abbrechen
wert = InputBox("bitte ggf. zustätzlichen Text eingeben", "Zusatztext", "")
If StrPtr(wert) = 0 Then Exit Sub
Von Nepumuk
Für optionale String-Parameter gibt es allerdings eine Hintertür, durch die Sie zu einer tatsächlichen Prüfung des uninitialisierten Werts gelangen: die undokumentierte Visual Basic-Funktion StrPtr.
Die Funktion StrPtr liefert den Wert des Zeigers (das ist, vereinfacht gesagt, die Speicheradresse des Strings) zu einem String. Und bei einem uninitialisierten String ist dieser Wert schlicht 0, da ein uninitialisierter String für VB noch nicht existiert. Prüfen Sie also mit dieser Funktion den übergebenen optionalen String-Parameter.
Aus vb-fun Tipp 0197 :
Die InputBox zeigt eine Eingabeaufforderung in einem Dialogfeld an, wartet auf die Eingabe eines Textes oder die Auswahl einer Schaltfläche und gibt den Inhalt des Textfeldes zurück.
Wenn im Textfeld der InputBox nun keine Eingabe gemacht wurde, wird sowohl bei 'OK' als auch bei 'Abbrechen' eine sogenannte "Null-Zeichenfolge" zurückgegeben.
Mit Hilfe der nicht dokumentierten StrPtr-Funktion lässt sich feststellen, ob es sich bei der Rückgabe tatsächlich um einen "Null-String" handelt - per Definition ist ein "Null-String" (vbNullString) ein Zeiger, dessen Wert 0 ist. Somit ist der Rückgabewert eindeutig auswertbar. Ist das Ergebnis = 0, wurde die Schaltfläche 'Abbrechen' gewählt, bei 'OK' wird "" zurückgegeben!
Von Gerd

Anzeige
AW: Application.Inputbox - Abbruch
21.05.2010 12:48:51
Ralf_P
Hallo Hajo,
vielen Dank für den Tip, aber es läuft immer noch nicht:
Private Sub CommandButton1_Click()
Dim Auswahl As Variant
Dim Formel As String
Me.Hide
Set Auswahl = Application.InputBox("Wählen Sie den zu summierenden Bereich.", , , , , , , 8)
If StrPtr(Auswahl) = 0 Then Exit Sub
Formel = "= Farbsumme(" & Auswahl.Address & ", " & Farbe & ")"
ActiveCell.Formula = Formel
End Sub
Ursprünglich hatte ich
Dim Auswahl As Range --> weil Inputbox = Type 8
Diese gibt aber bei Abbruch False zurück, deshalb
Dim Auswahl As Variant
um beide Möglichkeiten abzufragen. Leider klappt keine der Varianten.
Gruß, Ralf
Anzeige
AW: Application.Inputbox - Abbruch
21.05.2010 23:37:52
Steffen
Hallo Ralf,
Ich würds mit der "Hammermethode" vlt lösen:
Sub test()
Dim Auswahl As Variant
Dim Formel As String
Application.DisplayAlerts = False
Me.Hide
On Error GoTo ENDE
Set Auswahl = Application.InputBox("Wählen Sie den zu summierenden Bereich.", , , , , , , 8)
Formel = "= Farbsumme(" & Auswahl.Address & ", " & Farbe & ")"
ActiveCell.Formula = Formel
ENDE:
Application.DisplayAlerts = True
End Sub

Viele Grüße
Steffen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige