Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
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
VBA Zelle auswählen über inputbox
09.03.2020 19:31:28
Sarah
Hallo,
ich bin neu in VBA und hätte eine Frage. Ich programmiere derzeit in VBA Multiplikation von mehreren Zahlen und bin schon sehr weit. Jetzt zu meiner Frage wie kann ich wenn ich über die Inputbox frage in welcher Zelle man das Ergebnis der Rechnung haben möchte, verhindern das da wenn Schwachsinn reingeschrieben wurde, kein Fehler mit Zelle nicht gefunden erscheint? Sondern eine MsgBox mit "Bitte Zelle mit Großbuchstabe und Zahl angeben. Z.B. (A1)". Ich möchte das ja so programmieren das Leute ohne VBA Kenntnisse es nutzen können...

Sub Makro1()
Dim Eingabe As Variant
Eingabe = InputBox("In Welche Zelle soll das Ergebnis reingeschrieben werden? (Z.B. A1)", " _
Ergebnis")
If Eingabe=Schwachsinnn
MsgBox ("Bitte Zelle mit Großbuchstabe und Zahl angeben. Z.B. (A1)")
Range(Eingabe).Value = "Hallo"
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zelle auswählen über inputbox
09.03.2020 19:59:11
Nepumuk
Hallo Sarah,
teste mal:
Option Explicit

Sub Makro1()
    Dim Eingabe As Range
    On Error Resume Next
    Do
        Set Eingabe = Application.InputBox(Prompt:="Bitte Zelle auswählen.", _
            Title:="Ergebnis", Type:=8)
        On Error GoTo 0
        If Eingabe Is Nothing Then
            MsgBox "Bitte eine Zelle auswählen"
        Else
            Eingabe.Value = "Hallo"
            Exit Do
        End If
    Loop
End Sub

Gruß
Nepumuk
Anzeige
Info auf VBA-Fehlermeldung ...
10.03.2020 04:35:25
Matthias
Hallo Nepumuk,
nur ein Hinweis das der Code in einen Fehler laufen kann/wird.
Das sollte noch optimiert werden.
Klick mal auf Abbrechen und dannach aufs Kreuz oder
Klick mal aufs Kreuz und dannach auf Abbrechen.
Es erscheint ein VBA-Fehler.
Man sollte hier die Möglichkeit haben auch abbrechen zu können.
Gruß Matthias
AW: Info auf VBA-Fehlermeldung ...
10.03.2020 08:07:39
Nepumuk
Hallo,
dann so:
Option Explicit

Sub Makro1()
    Dim Eingabe As Range
    On Error Resume Next
    Do
        Set Eingabe = Application.InputBox(Prompt:="Bitte Zelle auswählen.", _
            Title:="Ergebnis", Type:=8)
        If Eingabe Is Nothing Then
            MsgBox "Bitte eine Zelle auswählen"
        Else
            Eingabe.Value = "Hallo"
            Exit Do
        End If
    Loop
    On Error GoTo 0
End Sub

Gruß
Nepumuk
Anzeige
AW: Info auf VBA-Fehlermeldung ...
10.03.2020 16:23:49
Sarah
Also der Code funktioniert super :-D danke für die schnelle Antwort. Damit ich in Zukunft auch so was programmieren kann 2 Fragen. Für was und wie funktioniert On Error Resume Next und On Error GoTo 0. Und ich verstehe nicht den Unterschied zwischen InputBox und Application.InputBox nicht.
Danke :-)
AW: Info auf VBA-Fehlermeldung ...
10.03.2020 17:24:36
Matthias
HAllo
On Error Resume Next ignoriert "eigentlich" fast alle VBA-Fehler.
Mit On Error GoTo 0 wird die Fehler-Nummer (ErrNumber) zurück auf 0 gesetzt.
Mit Application.InputBox kannst Du mE den Type:=8 erzwingen, was bei nur InputBox nicht geht.
Allerdings fände ich es angebrachter auch die Möglichkeit zu haben abzubrechen. Was bei dem Code von Nepumuk nicht vorgesehen ist.
Das kann für Dich ja so in Ordnung sein, ich finde das aber nicht optimal.
Gruß Matthias
Anzeige
schon mal was von Rückmeldung gehört ? ... owT
13.03.2020 18:42:15
Rückmeldung
AW: schon mal was von Rückmeldung gehört ? ... owT
13.03.2020 18:59:04
Rückmeldung
Hallo,
ich danke dir das du meine Fragen beantwortet hast. Ich verstehe es jetzt besser wie der Code funktioniert. Dadurch konnte ich ein ähnliches Problem in einem anderen Projekt lösen. :-)
Ich wünsche dir ein schönes Wochenende,
Sarah
na das ist doch dann doch nett von Dir :-)
13.03.2020 19:36:40
Dir
.
so kann man aber auch nicht abbrechen ! owT
11.03.2020 19:11:19
Matthias
Hallo
Sollte es Sarah noch interessieren ...,
ich würde es einfach so machen:
Dim Eingabe As Range
On Error Resume Next
Set Eingabe = Application.InputBox(Prompt:="Bitte Zelle auswählen.", _
Title:="Ergebnis", Type:=8)
If Eingabe Is Nothing Then MsgBox "Bitte Makro neu starten & eine Zelle auswählen"
On Error GoTo 0
Gruß Matthias
Anzeige

49 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige