Hallo zusammen,
beim Klick auf Zelle R3 erscheinen nacheinander 5 Inputboxen
und die Eingaben werden in die 5 definierten Zellen eingesetzt.
Lässt sich das auch mit EINER 5-zeiligen Inputbox realisieren?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 18 And Target.Row = 3 And Not IsEmpty(Target) Then
Dim Wert1, Wert2, Wert3, Wert4, Wert5
Wert1 = InputBox(" Frage 1:")
Wert2 = InputBox(" Frage 2:")
Wert3 = InputBox(" Frage 3:")
Wert4 = InputBox(" Frage 4:")
Wert5 = InputBox(" Frage 5:")
Sheets(„Rohrleitung_1“).Range(„e36“) = Wert1
Sheets(„Rohrleitung_1“).Range(„f36“) = Wert2
Sheets(„Rohrleitung_1“).Range(„g37“) = Wert3
Sheets(„Rohrleitung_1“).Range(„g38“) = Wert4
Sheets(„Rohrleitung_1“).Range(„g39“) = Wert5
End If
End Sub
Gruß und danke
Rolf
beim Klick auf Zelle R3 erscheinen nacheinander 5 Inputboxen
und die Eingaben werden in die 5 definierten Zellen
eingesetzt.
Lässt sich das auch mit EINER 5-zeiligen Inputbox realisieren?
Hallo Rolf,
nimm eine Userform mit 5 Textfeldern.
Private Sub TextBox1_Change()
Sheets(1).Range(„e36“) = TextBox1
End Sub
Private Sub TextBox2_Change()
Sheets(1).Range(„f36“) = TextBox2
End Sub
…
Gruß
Reinhard
Hallo Reinhard,
danke für den Hinweis, aber irgendwas mache ich wieder verkehrt.
Bei Klick auf Zelle R3 sollte er die Userform aufrufen, tut er
aber nicht.
Beim Test mit einer Schaltfläche startet die Userform und ich kann
Daten eingeben. Aber er verteilt sie nicht auf die zugewiesenen Zellen.
Kannst Du helfen?
Gruß
Rolf
Private Sub Worksheet\_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$R$3" Then
'If Target.Column = 18 And Target.Row = 3 And Not IsEmpty(Target) Then
UserForm1.Show
End If
End Sub
Private Sub TextBox1\_Change()
Sheets(12).Range("e36") = TextBox1
End Sub
Private Sub TextBox2\_Change()
Sheets(12).Range("f36") = TextBox2
End Sub
Private Sub TextBox3\_Change()
Sheets(12).Range("g37") = TextBox3
End Sub
Private Sub TextBox4\_Change()
Sheets(12).Range("g38") = TextBox4
End Sub
Private Sub TextBox5\_Change()
Sheets(12).Range("g39") = TextBox5
End Sub
Private Sub CommandButton1\_Click()
'Code für den OK-Knopf?
End Sub
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Bei Klick auf Zelle R3 sollte er die Userform aufrufen, tut er
aber nicht.
Beim Test mit einer Schaltfläche startet die Userform und ich
kann
Daten eingeben. Aber er verteilt sie nicht auf die
zugewiesenen Zellen.
Moin Rolf,
die Sub Worksheet_SelectionChange Prozedur muß in das Modul des Blattes wo du auf R3 klicken willst.
Der restliche Code in das Modul der Userform.
Einen speziellen Ok-Button brauchst du nicht, da Sub TextBoxX_Change gleich in die Zelle schreibt.
Private Sub CommandButton1_Click()
'Code für den Abbrechen-Knopf
Unload UserForm1
End Sub
gruß
Reinhard
Private Sub Worksheet_SelectionChange(ByVal Target As
Excel.Range)
If Target.Address = „$R$3“ Then
'If Target.Column = 18 And Target.Row = 3 And Not
IsEmpty(Target) Then
UserForm1.Show
End If
End Sub
Private Sub TextBox1_Change()
Sheets(12).Range(„e36“) = TextBox1
End Sub
Private Sub TextBox2_Change()
Sheets(12).Range(„f36“) = TextBox2
End Sub
Private Sub TextBox3_Change()
Sheets(12).Range(„g37“) = TextBox3
End Sub
Private Sub TextBox4_Change()
Sheets(12).Range(„g38“) = TextBox4
End Sub
Private Sub TextBox5_Change()
Sheets(12).Range(„g39“) = TextBox5
End Sub
Private Sub CommandButton1_Click()
'Code für den OK-Knopf?
End Sub
Hallo Reinhard,
ja, das klappt, die UF kommt bei Klick auf R3, ich kann Daten eingeben
und die UF verschwindet nach Eingabe der letzten Zahl - ohne Fehlermeldung. Die Zahlen kommen aber nicht in den Zielzellen an.
Das im Code genannte „Sheets(12)…“ heißt im VBAProjekt-Baum
Tabelle12(Irgendwas). Stimmt da evtl. was nicht?
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Rolf,
ja, das klappt, die UF kommt bei Klick auf R3, ich kann Daten
eingeben
und die UF verschwindet nach Eingabe der letzten Zahl - ohne
Fehlermeldung.
kann ich nicht nachvollziehen.
Die Zahlen kommen aber nicht in den Zielzellen
an.
Das auch nihct.
Das im Code genannte „Sheets(12)…“ heißt im VBAProjekt-Baum
Tabelle12(Irgendwas). Stimmt da evtl. was nicht?
Heißt dein 12tes Blatt, von links nach rechts gezählt „Irgendwas“?
Am besten, erstelle eine Kopie der Datei. lösche alle Daten, Hauptsache Blätter und die Codes bleiben erhalten und lade die Kopie hoch mittels FAQ:2861 o.ä.
Gruß
Reinhard
Gruß
Rolf
Hallo Reinhard,
Heißt dein 12tes Blatt, von links nach rechts gezählt
„Irgendwas“?
Das war des Pudels Kern.
Jetzt funktioniert es tadellos.
Vielen herzlichen Dank für Deine Geduld
Gruß
Rolf
Heißt dein 12tes Blatt, von links nach rechts gezählt
„Irgendwas“?
Das war des Pudels Kern.
Jetzt funktioniert es tadellos.
Hallo Rolf,
sheets(1) ist das erste Blatt von links aus gesehen, egal ob Diagramm oder Tabelle.
Workheets(1) ist das erste Tabellenblatt, Diagrammblätter werden nicht gezählt.
Um die Leute (und sich selbst) zu verwirren kann man es leicht hinbiegen, daß dann im Vb-Editor links in der Blattliste beim ersten Blatt steht:
Tabelle2(Tabelle3)
Tabelle3 ist dann der Name der unten in Excel angezeigt wird. Tabelle2 ist der Codename in Vba.
D.h., die Abfrage:
If activesheet.Name=„Tabelle3“ Then
und
If activesheet.CodeName=„Tabelle2“ Then
ist identisch.
Wenn dich das verwirrt, so lese es nicht
)
Gruß
Reinhard
Hallo Reinhard,
sheets(1) ist das erste Blatt von links aus gesehen, egal ob
Diagramm oder Tabelle.
Workheets(1) ist das erste Tabellenblatt, Diagrammblätter
werden nicht gezählt.
Um die Leute (und sich selbst) zu verwirren kann man es leicht
hinbiegen, daß dann im Vb-Editor links in der Blattliste beim
ersten Blatt steht:
Tabelle2(Tabelle3)
Tabelle3 ist dann der Name der unten in Excel angezeigt wird.
Tabelle2 ist der Codename in Vba.
D.h., die Abfrage:
If activesheet.Name=„Tabelle3“ Then
und
If activesheet.CodeName=„Tabelle2“ Then
ist identisch.
Wenn dich das verwirrt, so lese es nicht
)
nee nee, solche Informationen bringen ja erst ne Kerze ins Dunkle.
Danke für Deine Hinweise.
Gruß
Rolf