Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Inputbox und Abbrechen

60 views
Skip to first unread message

Peter Rieper

unread,
Jul 21, 2004, 3:19:19 PM7/21/04
to
Moin,

Über application.inputbox möchte ich einen Bereich abfragen. Klappt ja
auch sehr schön mit Type 8.
Nun möchte ich aber im VBA-Code das Abbrechen (Cancel) abfangen. In
einem alten Beitrag wurde als Lösung ein Konstrukt mit 'on error ...'
usw. angegeben.
Geht es nicht auch anders?
Wenn nicht, warum nicht?

Tschüß
Peter

Stefan Onken

unread,
Jul 21, 2004, 4:00:16 PM7/21/04
to
hallo Peter,
eine Variante wäre:

Sub Test()
Dim a
a = Application.InputBox("was", Type:=8)
If Not IsArray(a) Then
If a = "Falsch" Then MsgBox "Abbrechen"
End If
End Sub

Gruß
stefan

"Peter Rieper" <peter....@web.de> schrieb im Newsbeitrag
news:2m7u1sF...@uni-berlin.de...

Melanie Breden

unread,
Jul 21, 2004, 4:49:58 PM7/21/04
to
Hallo Stefan, Hallo Peter,

Stefan Onken schrieb:


> hallo Peter,
> eine Variante wäre:
>
> Sub Test()
> Dim a
> a = Application.InputBox("was", Type:=8)
> If Not IsArray(a) Then
> If a = "Falsch" Then MsgBox "Abbrechen"
> End If
> End Sub

damit kann man zwar überprüfen, ob die InputBox abgebrochen wurde,
aber wie kommt man bei korrekter Eingabe an den Range, um diesen
zu bearbeiten oder auszuwerten?
Dazu kommt noch, wenn eine einzelne Zelle markiert wurde liefert IsArray auch False :-(

Um ein Range-Objekt zuzuweisen ist die Set-Anweisung zwingend erforderlich,
was aber mit einer Variant-Variablen nicht möglich ist.

Die einzigste Möglichkeit ein Range-Objekt zu erhalten und gleichzeitig die
Abbrechen-Schaltfläche zu überprüfen ist IMO eine Fehlerbehandlungsroutine.
Zum Beispiel so:

Sub MyInputBox()
Dim rngArea As Range

On Error Resume Next
Set rngArea = Application.InputBox("Markiere einen Bereich", Type:=8)
On Error GoTo 0

If rngArea Is Nothing Then
MsgBox "Eingabe wurde abgebrochen"
Else
MsgBox rngArea.Address
End If
End Sub

--
Mit freundlichen Grüssen

Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#


Peter Rieper

unread,
Jul 21, 2004, 6:03:17 PM7/21/04
to
Hallo Melanie,

Melanie Breden schrieb:

'is nothing' ist das Zauberwort, ich habe die ganze Zeit mit False oder
if not rngArea herumgekaspert.

Schönen Dank auch & Gut's Nächtle!

Peter

0 new messages