Wert in TextBox mit CommandButton um 1 erhöhen

Hallo,

danke erst einmal an alle die sich hier immer einem annehmen wenn mann mal nicht weiter kommt.
Ich möchte da den Wert in einer Textbox (hier ist eine Tabelle mit Lfd.Nr. 001 bis 500 zugewiesen) über einen CommandButton um 1 erhöhen.
Der CommandButton heißt „cmdMehrLeuchtenImRaum“ und das Textfeld heißt
„EG_LfdNrFuerLeuchte“.
Hat dafür einer eine Lösung?
Ich habe es mit diesem Code versucht, doch da bekomme ich ständig einen Laufzeitfehler 5: ungültiger Prozeduraufruf oder ungültiges Argument.

Private Sub cmdMehrLeuchtenImRaum_Click()

Dim value As Integer
EG_LfdNrFuerLeuchte.value = "Punkt " & Format(Val(Mid(EG_LfdNrFuerLeuchte.value, InStr(EG_LfdNrFuerLeuchte.value, " "))) + 1, „000“)

End Sub

Danke schon mal im Voraus
Olerostock … mehr auf http://w-w-w.ms/a4d85y

Grüezi Ole

Dazu gibt es im VisualBasic Brett ja bereits einen Thread.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,

entschuldige bitte, da hatte ich einen Fehler gemacht. Werde mich an die Benutzerbedingungen in Zukunft halten.
Solltest Du zu meiner Frage eine entsprechende Lösung haben, so würde ich mich über eine Antwort freuen. Bin mit der bisherigen Antwort nicht klar gekommen.

Danke
Ole

Hallo Olerostock,

Wennst noch hilfe brauchst.
Melde Dich.

LG Fred

Hallo olerostock,
ist denn die TextBoxt initialisiert? (hat sie einen Wert?)
MfG
W.W.

Hallo Manfred,

danke für Deine Nachfrage.
Das mit der Textbox hat sich erledigt. Ich hatte festgestellt, das ein Listenfeld besser ist. Das Problem ist damit gelöst. Ich habe da ein anderes Problem wo ich nicht weiter komme. Dieses habe ich mir als Fallsituation selber ausgedacht und versucht eine Lösung zu finden. 2Ohne Erfolg"
Hier mein Anliegen:
Ausgangslage:Exel 2010 1. Tabelle10 mit 10 Spalten, wichtig Spalte B LfdNr, Spalte A Name, Spalte C Jahr. 2. Userform mit 10 TextBoxen (TB) und 3 Listenfelder (LF), wichtig LF 1 Jahr, TB1 Name, LF2 LfdNr. und 1 CommandButton (CB) Neue LfdNr. prüfen (sind die Einträge in LF1, TB1 und LF2 schon vorhanden).
Ich möchte gerne über den CB prüfen lassen, ob in Spalte A der gewählte Name von TB1 vorhanden ist, wenn ja, dann soll geprüft werden ob in Spalte C der Eintrag von LF1 schon exstiert, wenn ja dann soll geprüft werden ob in Spalte B der gewählte Eintrag von LF2 bereitsvorhanden ist. Wenn alle drei Einträge vorhanden sind, dann soll eine Warnmeldung kommen mit „Lfd-Nr. bereits vergeben“ und eine ok taste zum ändern der Lfd-Nr da sein. Ist nur eine Bedingung nicht erfüllt, soll mit der Eingabe fortgesetzt werden.
Ich schätze mal, dass es mit einer verschachtelten if else geht. Wie? Das kann ich nun doch noch nicht.
Bin für jeden Ratschlag dankbar.

Entschuldige die dreistigkeit.

Mit freundlichen Grüßen der Olerostock

Hallo Waldemar, das mit der Textbox habe ich sein gelassen, weil ich ja auf eine Liste zugreife und ein Listenfeld besser geeignet ist. Aber nun hat sich da ein anderes Problem daraus ergeben. Vielleicht kannst Du mir da weiter helfen. Folgende Problemstellung:
Ausgangslage:Exel 2010 1. Tabelle10 mit 10 Spalten, wichtig Spalte B LfdNr, Spalte A Name, Spalte C Jahr. 2. Userform mit 10 TextBoxen (TB) und 3 Listenfelder (LF), wichtig LF 1 Jahr, TB1 Name, LF2 LfdNr. und 1 CommandButton (CB) Neue LfdNr. prüfen (sind die Einträge in LF1, TB1 und LF2 schon vorhanden).
Ich möchte gerne über den CB prüfen lassen, ob in Spalte A der gewählte Name von TB1 vorhanden ist, wenn ja, dann soll geprüft werden ob in Spalte C der Eintrag von LF1 schon exstiert, wenn ja dann soll geprüft werden ob in Spalte B der gewählte Eintrag von LF2 bereitsvorhanden ist. Wenn alle drei Einträge vorhanden sind, dann soll eine Warnmeldung kommen mit „Lfd-Nr. bereits vergeben“ und eine ok taste zum ändern der Lfd-Nr da sein. Ist nur eine Bedingung nicht erfüllt, soll mit der Eingabe fortgesetzt werden.
Ich schätze mal, dass es mit einer verschachtelten if else geht. Wie? Das kann ich noch nicht.

Entschuldige bitte, aber genauer konnte ich nicht sein.

Mit den allerbesten Grüßen
Olerostock

Hallo, kann ich dir leider nicht helfen. Trotzdem ein schönes Wochenende.
Carsten

Hallo Olerostock,

Für in Spalten Suchen siehe hier

Gruß fred

Hallo olerostock,
die Prüfung auf vorhandene Werte würde ich in eine Funktion auslagern. Von mir aus drei Funktionen je Name-, LfdNr- und Jahr-Prüfung. Die Prüfung kannst du ereignisgesteuert durchführen (LF_SelectionChanged) oder auch per Knopfdruck (CB).
Die Verwendung von if…then…else kannst du in der Hilfe nachlesen, Beispiele gibt es dort auch, oder bei google suchen (z.B. http://www.techonthenet.com/excel/formulas/if_then.php)
MfG
W.W.

Hallo Waldemar,

danke für den Tip. Werde mich gleich daran machen.

MfG
Ole

Hallo Olerostock,

sollte wie folgt funktionieren.

Die „Me.“ vor den Steuerelementnamen kann man auch weglassen. Sie erleichten aber die Eingabe/Auswahl der Elementnamen.

Gruß
Franz

Private Sub cmdMehrLeuchtenImRaum\_Click()
 Me.EG\_LfdNrFuerLeuchte.value = "Punkt " & Format(Val(Mid(Me.EG\_LfdNrFuerLeuchte.value, \_
 InStr(Me.EG\_LfdNrFuerLeuchte.value, " ") + 1)) + 1, "000")
End Sub

PS.:
Verwende bitte keine VBA-Funktionen, -Eigenschaften oder Methoden als Variablennamen (in deinem Fall Value). Damit handelst du dir ggf. Ärger bei Makrofunktionen ein.

Hi, so sollte es gehen:

Private Sub CommandButton1_Click()
Dim Wert As String

Wert2 = Format(TextBox1.Text, „##,##0.00“)
If Wert2 = „“ Then
Wert2 = 0
End If
UserForm1.TextBox1.Value = Wert2 + 1
End Sub

Gruß,
Ptonka

Hallo Ptonka,

hatte schon mit dem Tip von Franz Erfolg. Deinen werde ich mal ausprobieren.

MfG
Ole

Hallo Franz,

danke für Deinen Ratschlag.
Habe Deinen Tip befolgt und siehe da es geht.
Danke Dir noch mals.

MfG
Ole