Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Automatischer Übertrag in Tabelle

Forumthread: Automatischer Übertrag in Tabelle

Automatischer Übertrag in Tabelle
16.01.2025 21:19:22
chris58
Hallo !
Ich habe den Beitrag verlinkt. Meine Frage bezieht sich auf den u.a. VBA Code.
Kann man diesen Code so ändern, das, wenn man mit der Maus aber auch mit der Tabulatortaste in ein anderes Textfeld springt, automatisch in die Zelle eingetragen wird ?
Der Grund ist ........................ich vergess hin und wieder, den Button zu drücken und dann wird der Betrag der in B6 hinein soll, nicht zur Summe in C6 hinzugerechnet, der dann im weiteren Schritt in eine Tabelle eingetragen wird, sodaß dann immer der vorhergende Betrag von C6 übernommen wird.
Kann mir da wer helfen - bitte
Danke chris58



Private Sub CommandButton3_Click()
With Sheets("Berechnung") 'Hier musst du deinen Tabellennamen eingeben
Range("B6").Value = CDbl(TextBox1.Value) ' Du musst den Text in eine Zahl umwandeln. VBA erkennt das Komma als Tausender Trennzeichen
.Range("C6") = .Range("C6") + .Range("B6")
.Range("B6").Select
End With
End Sub

Hier der gesamte Beitrag:
https://www.herber.de/forum/messages/2002062.html
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatischer Übertrag in Tabelle
16.01.2025 22:57:19
Piet
Hallo Chris58

ich war bisher nicht an deinem Thread beteiligt, habe aber eine Lösung gefunden. Bei mir klappt sie.
Man kann darüber streiten ob sie schön ist, zumindest funktioniert sie einwandfrei.

Bei einem Code habe ich das Privat gelöscht, dadurch kann ich das Makro von anderer Stelle aufrufen!
Im Button für Ok/Schließen prüft das Makro vorm Schließen ob in Zelle B6 der gleiche Wert wie in TextBox1 steht.
Wurde der Wert addiert stelle ich den Text "Addiert" davor. Dadurch wird nicht zweimal addiert!
Sollte dir die Lösung nicht gefallen kann man auch Zelle D6 als Hilfszelle zum auswerten benutzen!
Der restliche Code ist nicht geändert worden! Anbri nur der geänderte Teil zum kopieren.

mfg Piet

Option Explicit


Private Sub TextBox1_Change()
Sheets("Berechnung").Range("B6") = TextBox1.Value
End Sub


Sub CommandButton3_Click() '** ohne Privat!!
MsgBox "CommandButton3_Click"
With Sheets("Berechnung") 'Hier musst du deinen Tabellennamen eingeben
If Instr(.Range("B6"), "Addiert") = 0 Then
.Range("B6").Value = TextBox1.Value
.Range("C6") = .Range("C6") + .Range("B6")
.Range("B6").Value = "Addiert: " & .Range("B6")
End If
.Range("B6").Select
End With
End Sub

Private Sub CommandButton5_Click()
UserForm1.TextBox4.SetFocus
Range("C17").Value = CDbl(TextBox4.Text)
End Sub

Private Sub CommandButton2_Click()
If Sheets("Berechnung").Range("B6") = TextBox1 Then
Call CommandButton3_Click
End If
Unload Me
Range("A2").Select
End Sub
Anzeige
AW: Gratuliere, tolle Lösung, freut mich, ist clever oWt
17.01.2025 15:53:34
Piet
...
AW: Automatischer Übertrag in Tabelle
17.01.2025 10:04:48
chris58
Hallo Piet !
Danke für deine Mühe. Doch ich will eigentlich nur, das der Button "Anlaufstrom eintragen" bei einem Sprung in ein anderes Textfeld automatisch erfolgt. Der Button OK/Schliessen ist eigentlich nur gedacht um den ganzen Vorgang abzubrechen (die Bezeichnung ist eigentlich falsch gewählt).
Also ich gebe z.B. 1,256 ein und mit dem Button Anlaufstrom eintragen, wird diese Summe in B6 übernommen und zu C6 hinzugerechnet. Das ganz sollte dann ohne den Button gehen. So habe ich mir das vorgestellt.
Danke für die Hilfe
chris58
Anzeige
AW: Automatischer Übertrag in Tabelle
17.01.2025 11:29:41
chris58
Hallo Piet !
Ich habe was gefunden und in meine VBA Code eingebaut. Wenn ich nun die Zahlen eingebe und mit Enter diese bestätige dann springt der Courser in das nächste Textfeld und die Zahl von Textfeld1 wird in B6 übertragen und in C6 hinzugerechnet.
Danke jedenfalls für Eure Mühe
chris58

Hier der neue Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
With Sheets("Berechnung") 'Hier musst du deinen Tabellennamen eingeben
Range("B6").Value = CDbl(TextBox1.Value) ' Du musst den Text in eine Zahl umwandeln. VBA erkennt das Komma als Tausender Trennzeichen
.Range("C6") = .Range("C6") + .Range("B6")
.Range("B6").Select
End With
End If
End Sub
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige