Office: (Office 2007) Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA

Helfe beim Thema Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo! Da bin ich also wieder mal und habe eine Frage. Ich hacke momentan an einer Inputbox, die ich nicht richtig programmiert bekomme. Und zwar... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 1. März 2009.

  1. Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA


    Hallo!
    Da bin ich also wieder mal und habe eine Frage.
    Ich hacke momentan an einer Inputbox, die ich nicht richtig programmiert bekomme.
    Und zwar möchte ich gerne folgendes mit dieser InputBox machen:
    Die InputBox soll geöffnet werden und dann steht da halt ein Text drin (funktioniert).
    Dann soll es 2 Button geben: OK und Abbrechen
    (funktioniert).
    Jetzt mein Problem:
    In die InputBox soll ein Wort oder ein Satz eingegeben werden. Eben ein TEXT KEINE ZAHLEN!
    Dann kann man sich eben aussuchen, ob man auf OK oder Abbrechen drückt.
    (kann ja sein, dass man die InputBox ausversehen geöffnet hat)

    Wie schaffe ich das?
    Ich habe die Programmierung schon für eine MsgBox gefunden. Diese klappt aber leider nicht, wenn ich das auf die InputBox übertrage.

    Hier die Programierung für die MsgBox die ich gefunden habe:
    [Beispiel : Löschabfrage]

    Sub LöschenMarkierterBereich()
    Dim i As Integer

    i = MsgBox _
    ("Wollen Se den markierten Bereich löschen?", _
    1 + vbQuestion, "Löschenabfrage")
    If i = 2 Then Exit Sub
    Selection.Clear
    End Sub


    ABER WIE SCHAFFE ICH DAS JETZT IN EINER INPUTBOX??
    Ich hoffe ihr könnt mir helfen

    lg
    skreeny

    :)
     
  2. Hi,

    probiere es mal so:

    Code:
     
    Backowe, 3. März 2009
    #2
  3. Hallo skreeny,

    so sollte das funktionieren:

    Code eingefügt mit
     
    pefeu, 3. März 2009
    #3
  4. Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA

    Hallo!
    ALso erst einmal Danke für die schnellen Antworten.
    Also Peter (pefeur):
    Den Code den du mir gegeben hast, hatte ich auch schon einmal.
    Jedoch muss man dabei die Eingabe "" (also leer/nix) haben.
    Ich suche jedoch eine Möglichkeit, damit er beim Anklicken des Abbrechen-Buttons Exit Sub tut ^^.

    Also Backowe:
    Dein Code ist schon einmal ganz gut.
    Ich habe pefeus idee aufgegriffen und Eingabe als Variant definiert.
    Deine Lösung gilt für eine MsgBox. Ich suche aber eine Lösung für eine InputBox.

    Ich habe also nun folgenden Code:

    Dim Eingabe As Variant

    Eingabe.Application.InputBox("Eingabe HIER!")

    If Eingabe vbYes Then
    Exit Sub

    Else
    MsgBox ("HALLO!")


    End Sub

    Dieser Code funktioniert noch nicht wirklich, denn egal auf welchen BUtton ich klicke, oder egal ob ich die EnterTaste drücke, er macht sozusagen ExitSub .. also er beendet das Makro, obwohl ich ja auf OK gedrückt habe. Also dürfte er doch eigentlich nicht beenden, sondern müsste die MsgBox öffnen mit HALLO!.

    Vielleicht habt ihr ja noch eine Idee, wie man den Code geradebiegen kann.
    lg
    skreeny
     
  5. Hallo

    Oder so:

    Code:
    Gruß

    - Monty Burns -
     
    Monty Burns, 3. März 2009
    #5
  6. Hallo skreeny,

    Einige Tipps zu Deiner Frage :

    1.) : Verwende Application.Inputbox anstatt Inputbox, denn dann kann man durch den Parameter Type:=1 angeben, dass nur Zahlen eingegeben werden können !

    2.) : Verwende im Code anstatt numerischer Werte die VB-Konstanten.
    In Deiner Msgbox erscheinen OK und CANCEL. Daher würde ich auf vbOK (numerisch : 1) und vbCancel (numerisch : 2) abfragen, da diese Konstanten für jeden leichter nachvollziehbar sind !

    3.) : Anstelle von Exit Sub im Falle von CANCEL kannst Du auch eine POSITIVE Aussage treffen (if i=vbOK then), das ist eine deutlich strukturiertere Programmierung.

    Und das Ganze nun in einem kleinen Codebeispiel für INPUTBOX zusammengefasst ergibt folgendes Lösungsbeispiel :

    Code:
     
    NoNet, 3. März 2009
    #6
  7. Hallo Monty Burns!
    Es tut mir Leid, aber auch dein Code klappt aus irgendeinem Grund nicht.
    Ich habe ihn einma kopiert und dann noch
    Else
    MsgBox ("HALLO!")
    inzugefügt, umzusehen, was der Computer genau macht.
    Nun öffnet er aber immer die MsgBox, egal ob ich OK oder Abbrechen drücke

    Hier dein kopierter Code, den ich noch ergänzt habe:

    Sub InputBox_Abbrechen()

    Dim wchoice As Variant

    wchoice = InputBox("blablabla", vbQuestion + vbOKCancel)
    If wchoice = vbCancel Then
    Exit Sub

    Else
    MsgBox ("HALLO!")
    End If

    End Sub


    lg
    skreeny
     
  8. Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA

    Oha! Ihr seit alle so schnell ....
    Da habe ich gerade ein gerade einmal ein Makro ausprobiert und eine Antwort geschrieben, schon habe ich eine neue Antwort erhalten.
    Aber gerade das zeigt doch, wie gut dieses Forum und auch ihr seit.
    Daneben komme ich mir so vor, als würde ich gar nichts wissen ^^.
    So NoNet... Du hast mir ja chon sehr oft geholfen und auch dieses mal war dein Beitrag fast schon genau richtig.
    Ich muss ja einen Text eingeben.
    Jetzt hätte ich nur noch die Frage, wie ich den Type umändern muss, damit man Text eingeben kann.
    Ich habe nämlcih einmal wie du schon erwähnt hast die Zahlen benutzt und nicht vbCancel zum Beispiel. A Amfang habe ich zudem Eingabe als String definiert und dann an der kritischen Stelle:
    If Eingabe = 2 Then
    Exit Sub genommen
    Eigentlich hat dieser Code ja funktioniert. Man musste allerdings 2 eingeben und nicht Abbrechen drücken.
    Auch als ich 2 durch vbCancel ersetzt habe, hat es nicht geklappt.
    Also wie schon erwähnt hier meine Frage, damit dein Code für mein Anliegen klappt.
    Wie muss der Type verändert werden, damit Eingabe (in deinem Beispiel strEingabe) sowohl Text (also String) beinhaltet, als auch die Buttons.
    lg
    skreeny
     
  9. Hallo skreeny,

    versuch es mal so:

    Public Sub Beispiel()
    Dim vntReturn As Variant
    vntReturn = InputBox(prompt:="Bitte geben Sie die Daten ein", Title:="Daten-Eingabe")
    If StrPtr(vntReturn) = 0 Then Exit Sub
    If Trim$(vntReturn) = "" Then
    MsgBox "Nix eingegeben"
    Else
    MsgBox vntReturn
    End If
    End Sub
     
    Nepumuk, 3. März 2009
    #9
  10. Hallo Nepumuk!
    Dein Code klappt!
    Vielen Dank!
    Jedoch verstehe ich ihn noch nicht wirklich. Aslo was bedeutet zum Beispiel Public Sub kann man nicht einfach Sub nehemen?
    Was heißt
    StrPtr
    und was
    Trim$

    wenn du mir dein Makro noch näher erklären könntest, wäre ich sehr dankbar.
    lg
    skreeny
     
  11. Hallo skreeny,

    Nur Sub und Public Sub ist genaugenommen das selbe. Man schreibt das aber aus, damit man öffentliche Przeduren von Privaten sofort unterscheiden kann. Ist einfach ein besserer Stiel.

    StrPtr holt sich die Speicheradresse der Variablen aus dem Arbeitsspeicher. Wenn du bei der Inputbox auf Abbrechen drückst, ist die Variable nicht belegt und die Speicheradresse ist 0.

    Trim$ löscht alle fühenden und abschließenden Leerzeichen. Sonst haut der User einfach nur mal auf die Leertaste und meint, damit seine Schuldigkeit getan zu haben. Da hat er nicht mit uns gerechnet. *biggrin.gif*
     
    Nepumuk, 3. März 2009
    #11
  12. Hallo Neopumuk!
    Also vielen Dank!

    Ich weiß einfach nicht ws ich falsch mache!
    Dein Code klappt ja wunderbar aber ich habe ihn rüberkopiert und bei mir klappt er nicht! Ich weiß nicht woran der Fehler liegen soll...
    Also ich habe mein Makro soweit ausgearbeitet, dass er kontrolliert, ob die Eingabe in einer Liste also ob etwas schon vorhanden ist. Ich habe es so porgrammiert, dass wenn es nicht vorhanden ist, dass soll er ein Feld öffnen, mit mehreren Mäglichkeiten, die man machen kann.
    Jetzt (mit deinem Makro) springt er immer auf dieses Auswahlmenü.

    lg skreeny
     
  13. Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA

    Hallo skreeny,

    ohne deinen Code kann ich nur raten was nicht stimmt. Soll ich?
     
    Nepumuk, 3. März 2009
    #13
  14. uups ^^ sry ....
    Ich dachte ich hätte den Code mit Strg+V reinkopiert .... Seltsam ...
    Hab ich wohl gepennt .... -.- ^^
    naja
    Ich habe nocheinmal Wort für WOrt rüberkopiert und habe den Fehler behoben, auch wenn ich nicht weiß, was der Fehler war ... ich nehme mal an irgendein Zeichen fehler oder ein falscher Buchstabe...
    NOCHMALS VIELEN DANK EUCH ALLEN
    lg
    skreeny
    PS:
    HURRA!!! ES KLAPPT !!! ^^ Ich freu mich
     
Thema:

Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA

Die Seite wird geladen...
  1. Inputbox bei [Abbrechen] schließen -> Excel 2007; Frage; VBA - Similar Threads - Inputbox Abbrechen schließen

  2. Wert aus Inputbox in Textbox übernehmen ohne Inhalt zu löschen

    in Microsoft Excel Hilfe
    Wert aus Inputbox in Textbox übernehmen ohne Inhalt zu löschen: Hallo zusammen, ich habe mir ein Code mit hilfe KI gebastelt und komme nicht weiter. Wenn ich über die Inputbox eine Text eingebe, soll er den bestehenden Textinhalt nicht leeren sondern die...
  3. VBA Daten in Array durch inputbox befüllen lassen

    in Microsoft Excel Hilfe
    VBA Daten in Array durch inputbox befüllen lassen: Hi zusammen, Ich hab mal wieder eine Excel VBA Frage. Kurz zur Erklärung: Ich erhalte von einem Kunden eine Datei mit wiederum seinen Kunden, die ein bestimmtes Produkt gekauft haben(den Sinn...
  4. Abbrechen Button bei Inputbox

    in Microsoft Excel Hilfe
    Abbrechen Button bei Inputbox: Hallo zusammen, ich habe folgendes Problem: wenn ich bei meiner InputBox auf "Abbrechen" oder auf das "X" zum Schließen des Dialogfeldes drücke, erscheint die Fehlermeldung "Typen unverträglich"....
  5. VBA Makro abbrechen durch Inputbox

    in Microsoft Word Hilfe
    VBA Makro abbrechen durch Inputbox: Hallo zusammen, dank Gerhard H aus diesem Forum habe ich das folgende Makro im Einsatz, bei dem eine Spalte einer Tabelle in Word auf einen vom Anwender eingegebenen Begriff durchsucht wird und...
  6. Inputbox: "Abbrechen"

    in Microsoft Excel Hilfe
    Inputbox: "Abbrechen": Hallo zusammen, ich kämpfe gerade mal wieder mit Excel, genauer gesagt mit VBA: Mein Code enthält folgende Zeile: lngX = InputBox("Jede wie vielte Zeile soll gelöscht werden?", "Löschen jeder...
  7. VBA Input-Box Abbrechen geht nicht

    in Microsoft Excel Hilfe
    VBA Input-Box Abbrechen geht nicht: Hey, ich habe seit Tagen das Problem, wenn ich etwas in die Inputbox reinschreibe geht alles, wenn ich aber "" lasse sagt er das Feld ist leer! Wenn ich jetzt auf abbrechen gehe sagt er das...
  8. VBA: "Abbrechen"-Button bei InputBox - Gelöst

    in Microsoft Excel Hilfe
    VBA: "Abbrechen"-Button bei InputBox - Gelöst: Hallo Office-User, ich tobe seit einer weile in Excel mit VBA herum. Bisher bekam ich meiner Meinung die komplizierte Dinge hin. Nur mit einer Sache habe ich Probleme, meiner Meinung nach...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden