Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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

Inputbox abfrage

Inputbox abfrage
26.01.2016 15:04:27
timoj
Hallo zusammen,
ich habe da ein Problem, welches ich einfach nicht gelöst bekomme.
Ich möchte, dass sich automatisch eine Inputbox öffnet, sobald die Zelle S207 den Wert 1 erhält.
In dieser Inputbox möchte ich dann nach dem gewünschten Radius gefragt werden, welcher nach Eingabe des selbigen in Zelle T207 erscheint.
Wenn bei Start des Makros direkt eine 1 in Zelle S207 stehen sollte, so soll ebenfalls die Inputbox erscheinen und den gewünschten Radius abfragen.
Anschließend soll sich eine MsgBox öffnen, in welcher gefragt wird: Ist der Radius "X" korrekt. Klickt man auf ja trägt sich der wert, wie ob schon gesagt in Zelle T207 ein, klickt man auf nein, so öffnet sich erneut die Inputbox welche den Radius erneut abfragt.
Hoffe Ihr könnt mit helfen.
Ich verzweifle seit gestern an diesem Code.
Gruß
Timo

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox abfrage
26.01.2016 15:24:33
otto
Hi,
vielleicht so?
Private Sub Workbook_Open()
Dim meldung, Titel, Antwort, Stil
meldung = "Radius OK?"
Titel = "Radiusabfrage"
Stil = vbYesNo
If Cells(207, 19) = "1" Then Cells(207, 20) = Application.InputBox("gewünschter Radius")
Antwort = MsgBox(meldung, Stil, Titel)
If Antwort = vbNo Then
Cells(207, 20) = Application.InputBox("gewünschter Radius")
Else
Exit Sub
End If
End Sub
otto

AW: Inputbox abfrage
26.01.2016 15:39:31
timoj
Ja die Idee ist gut, aber wenn ich das Programm ins Workbook einlade, dann kommt der LAufzeitfehler 1004: Die Methode `Cells` für das Objekt Global ist fehlgeschlagen.
Habe es auch schon mit Range getestet, funktioniert aber auch nicht.

Anzeige
AW: Inputbox abfrage
26.01.2016 16:35:50
timoj
Also ich würde mich freuen, wenn mir hier irgendwer Helfen könnte, da ich echt verzweifle :-D

So, so und warum antwortest Du mir nicht ? owT
26.01.2016 17:17:25
Matthias

AW: So, so und warum antwortest Du mir nicht ? owT
27.01.2016 07:03:54
timoj
Hallo Matthias, habe deine Nachricht einfach übersehen.
Entschuldigung dafür. Nein, die 1 ist das Ergebnis einer Formel, beziehungsweise ist es so, dass wenn ich in einem von mir eingefügten Optionsfeld eine bestimmte Option auswähle, schreibt sich in die Zelle eine 1.
Vielleicht hilft dir das weiter.
Gruß
Timo

funktioniert mein Bsp nicht?
27.01.2016 07:58:18
Matthias
Hallo
Auch wenn Du die Zelle per OptionButton füllst geht das so
wie in meinem Bsp.
Das Bsp. von Otto geht bei mir auch ohne Probleme
Gruß Matthias

Anzeige
AW: funktioniert mein Bsp nicht?
27.01.2016 08:36:36
timoj
Ok. Ich konfiguriere mit der Tabelle eine CAD Datei.
Wenn sich jetzt jemand dazu entscheidet, dass seine Scheibe einen Radius und keine 90°Ecke haben soll, dann kann er dies über ein Userform Optionsfeld abhacken. Dieses Userform ist mit der Zelle S207 verbunden, und erzeugt hier eine 1 in der Zelle, sobald es ausgewählt wurde. Standartmäßig steht in dieser Zelle eine 2 für 90° Ecke. Sobald aber Radius ausgewählt wird, soll eine Inputbox aufgehen, in welcher man seinen Gewünschten Radius eingeben kann. Wenn er das getan hat, kommt eine MsgBox, welche sich nochmal vergewissert. Bei ja, wert in Zelle T207. Bei Nein erneut Inputbox.
Sollte jetzt widererwartend schon bei Beginn des MAkros eine 1 in Zelle S207 stehen, soll dieser Vorgang auch ausgeführt werden.
Hoffe Ihr versteht mich.
Ich bin euch aber auch schon jetzt echt dankbar, dass Ihr euch die Mühe macht mir zu helfen.
Vielleicht noch kurz. im Workbook steht bereits dieser Code:
Private Sub Workbook_Open()
Dim varEingabe As Variant
varEingabe = Application.InputBox(prompt:="Gewünschte Scheibendicke.", Title:="Eingabe Zahl",   _
_
Default:=Zahl, Type:=1)
If VarType(varEingabe) = vbBoolean Then Exit Sub
If varEingabe  0 Then
ThisWorkbook.Worksheets("Tabelle1").Range("S201").Value = varEingabe
End If
End Sub

Und in Tabelle 1 dieser:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim rgBereich As Range
Dim zaehler As Range
Set rgBereich = Worksheets("Tabelle1").Range("B5,D5,B7,B10")
For Each zaehler In rgBereich
If zaehler = "" Then
zaehler.Select
Exit For
End If
Next zaehler
Application.EnableEvents = True
ActiveSheet.Rows("100:106").AutoFit
End Sub

Vielleicht ändert das was an dem neuen Code.
Gruß Timo

Anzeige
AW: Inputbox abfrage mit Beispielmappe
27.01.2016 07:34:18
otto
Hi,
bei mir läuft es. Code muss in "Diese Arbeitsmappe"
Tabellenblattname etc musst du anpassen.
https://www.herber.de/bbs/user/103067.xlsm
otto

AW: Inputbox abfrage mit Beispielmappe
27.01.2016 07:49:27
timoj
Wie gesagt, der Code ist soweit ok aber er funktioniert nicht so wie ich das geplant hatte. Da ich die 1 über eine Formel erzeugen lasse. Außerdem kann ich den Code nicht ins Workbook einladen. Vielleicht, weil da bereits ein Code steht?
Gruß

Bitte richtig beschreiben was du geplant hast
27.01.2016 07:57:03
otto
Hi,
nicht einladen? kopieren und einfügen!?
Ob die "1" durch Formel erzeugt wird oder nicht ist doch egal?
Die Variable "zelle" ist der Inhalt aus Zelle S207.
Dann beschreibe mal richtig was passieren soll!
otto

Anzeige
AW: Inputbox abfrage mit Beispielmappe
27.01.2016 08:17:24
timoj
Ok. Ich konfiguriere mit der Tabelle eine CAD Datei.
Wenn sich jetzt jemand dazu entscheidet, dass seine Scheibe einen Radius und keine 90°Ecke haben soll, dann kann er dies über ein Userform Optionsfeld abhacken. Dieses Userform ist mit der Zelle S207 verbunden, und erzeugt hier eine 1 in der Zelle, sobald es ausgewählt wurde. Standartmäßig steht in dieser Zelle eine 2 für 90° Ecke. Sobald aber Radius ausgewählt wird, soll eine Inputbox aufgehen, in welcher man seinen Gewünschten Radius eingeben kann. Wenn er das getan hat, kommt eine MsgBox, welche sich nochmal vergewissert. Bei ja, wert in Zelle T207. Bei Nein erneut Inputbox.
Sollte jetzt widererwartend schon bei Beginn des MAkros eine 1 in Zelle S207 stehen, soll dieser Vorgang auch ausgeführt werden.
Hoffe Ihr versteht mich.
Ich bin euch aber auch schon jetzt echt dankbar, dass Ihr euch die Mühe macht mir zu helfen.
Vielleicht noch kurz. im Workbook steht bereits dieser Code:

Private Sub Workbook_Open()
Dim varEingabe As Variant
varEingabe = Application.InputBox(prompt:="Gewünschte Scheibendicke.", Title:="Eingabe Zahl",  _
Default:=Zahl, Type:=1)
If VarType(varEingabe) = vbBoolean Then Exit Sub
If varEingabe  0 Then
ThisWorkbook.Worksheets("Tabelle1").Range("S201").Value = varEingabe
End If
End Sub
Und in Tabelle 1 dieser:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim rgBereich As Range
Dim zaehler As Range
Set rgBereich = Worksheets("Tabelle1").Range("B5,D5,B7,B10")
For Each zaehler In rgBereich
If zaehler = "" Then
zaehler.Select
Exit For
End If
Next zaehler
Application.EnableEvents = True
ActiveSheet.Rows("100:106").AutoFit
End Sub
Vielleicht ändert das was an dem neuen Code.
Gruß Timo

Anzeige
AW: Inputbox abfrage mit Beispielmappe
27.01.2016 09:27:56
timoj
Ja, aber wenn die Zelle S207 jetzt zu beginn auf 2 steht, und dann durch eine formel zu einer 1 geändert wird, muss ebenfalls die Inputbox mit der abfrage erscheinen.
Ist das möglich?
Jetzt kommt sie ja nur, wenn zu beginn des Makros eine 1 in Zelle "207 steht.
Ich habe mal die Datei angehängt.
Wenn jetzt hier das Optionsfeld Radius angeklickt wird, soll die Inputbox sich auch öffnen.
https://www.herber.de/bbs/user/103075.xlsm
Gruß Timo

Anzeige
AW: Inputbox abfrage mit Beispielmappe
27.01.2016 10:08:36
otto
Hi,
mit:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(207, 19) = 1 Then...
otto

AW: Inputbox abfrage mit Beispielmappe
27.01.2016 10:19:55
timoj
Hallo Otto,
funktioniert jetzt soweit, das einzige was noch blöd ist, ist das die Inputbox jetzt immer wieder kommt. Sprich, wenn ich die Eingabe einmal getätigt habe, möchte ich, dass diese nicht noch einmal kommt.
Also einmal Eingabe des Radius und dann keine Inputbox mehr.
Wenn du mir hier noch einen Tipp geben könntest, bin ich dir unendlich dankbar.
Gruß

AW: Inputbox abfrage mit Beispielmappe
27.01.2016 10:52:07
otto
Hi,
dann prüfe ob in Zelle T207 (Radius) was drin steht, wenn ja dann Exit Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(207, 20) "" Then Exit Sub
If Cells(207, 19) = 1 Then...
otto

Anzeige
Tja, wie mein Vorschlag: Worksheet_Change
27.01.2016 20:50:05
Matthias
Hallo
Tja, wie mein Vorschlag: Worksheet_Change
Aber vermutlich hast Du es ja gar nicht erst probiert.
Gruß Matthias

AW: Tja, wie mein Vorschlag: Worksheet_Change
28.01.2016 07:06:14
timoj
Hallo Matthias. Doch, habe es probiert, aber es lief leider nicht so wie ich mir das alles vorgestellt habe. Habe die ganze Die jetzt auch vorerst verworfen, da ich einfach nicht die richtige und optimale Lösung gefunden habe. Alle eure Vorschläge waren gut, aber keiner hat genau das gemacht was ich wollte.
Trotzdem bin ich euch beiden sehr Dankbar, dass Ihr mir gehofen habt.
Gruß Timo

Nachtrag
27.01.2016 10:13:59
otto
bei Klick auf den OptionButton muss das Makro auch ausgeführt werden!!
noch hinterlegen!
otto

Anzeige
wann soll das denn passieren
26.01.2016 15:31:50
Matthias
Hallo
Gibst Du die 1 selbst ein, oder sie das Ergebnis einer Formel?
Gibst Du es selbst ein könnte das helfen:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRadius
If Not Intersect(Target, Range("S207")) Is Nothing Then
If Target = 1 Then
nochmal:
MyRadius = InputBox("Bitte Radius angeben")
If MsgBox("Ist der Radius [" & MyRadius & "] korrekt?", vbYesNo) = vbYes Then
Range("T207") = MyRadius
Else
GoTo nochmal
End If
End If
End If
End Sub
Gruß Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige