Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA über Textfeld eine Eingabe machen

VBA über Textfeld eine Eingabe machen
03.07.2024 10:06:55
Leo
Guten Morgen zusammen,

Ich möchte über über zwei Textfelder in einer Userform zwei Eingaben machen und diese dann in Excel eintragen.


Beispiel:
Textfeld1 "Bonn" dieser Wert soll dann im Tabellenblatt A1 geschrieben werden
Textfeld2 "München" dieser Wert soll dann im Tabellenblatt in B1 eingetragen werden

Steht in A1 & B1 schon etwas drin soll er den ersten Eintrag in C1 machen.

Ich bräuchte da nur einen Ansatz, den Rest würde ich versuchen selbst hinzubekommen.

Danke für deine Hilfe.

Gruß
Leo
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 10:17:52
Beverly
Hi Leo,

meinst du das so:

    If Range("B1") > "" Then

Range("C1") = Textfeld1
Range("D1") = Textfeld2
Else
Range("A1") = Textfeld1
Range("B1") = Textfeld2
End If


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 10:37:36
Alwin Weisangler
das sollte so passen:



If .Cells(1, 1) = "" Then
.Cells(1, 1) = TextBox1
.Cells(1, 2) = TextBox2
Else
.Cells(1, .Cells(1, Columns.Count).End(xlToLeft).Column + 1) = TextBox1
.Cells(1, .Cells(1, Columns.Count).End(xlToLeft).Column + 1) = TextBox2
End If


Gruß Uwe
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 10:51:03
GerdL
Moin Leo

nimm zum Übertragen einen Commandbutton im Userform.
Private Sub CommandButton1_Click()


Dim rngZiel As Range

If IsEmpty(Range("A1")) Then
Set rngZiel = Range("A1")
ElseIf IsEmpty(Range("B1")) Then
Set rngZiel = Range("B1")
Else
Set rngZiel = Range("A1").End(xlToRight).Offset(0, 1)
End If
rngZiel = TextBox1
rngZiel.Offset(0, 1) = TextBox2
Set rngZiel = Nothing

End Sub


Gruß Gerd
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 11:06:31
Leo
Super! Das hilft mir schon sehr!

Ich habe den Code auch schon so angepasst für mein Programm und auf Zeile B1 erweitert.

Ich habe nur ein Problem nicht bedacht. Ich habe in der Liste und in der Userform ein Auswahlfeld mit Mitarbeitern.

In Spalte A stehen diese Mitarbeiter in der Liste eintragen. Wie kann ich jetzt den Eintrag so machen das der eintragt genau in der Zeile des jeweiligen Mitarbeiter gemacht wirst. Angenommen ich wähle Müller aus , dass dieser Eintrag auch in der Spalte neben Müller erscheint.
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 11:39:37
GerdL
Auf Verdacht.
Private Sub CommandButton1_Click()


Dim rngZiel As Range
Dim lngZeile As Long, vntZeile As Variant
Dim strMitarbeiter As String

'strMitarbeiter = ListBox1.List(ListBox1.ListIndex, 0) 'oder:
strMitarbeiter = Combobox1.Value

vntZeile = Application.Match(strMitarbeiter, Columns(1), 0)

If IsError(vntZeile) Then Exit Sub

lngZeile = CLng(vntZeile)

If IsEmpty(Range("B" & lngZeile)) Then
Set rngZiel = Range("B" & lngZeile)
ElseIf IsEmpty(Range("C" & lngZeile)) Then
Set rngZiel = Range("C" & lngZeile)
Else
Set rngZiel = Range("B" & lngZeile).End(xlToRight).Offset(0, 1)
End If
rngZiel = TextBox1
rngZiel.Offset(0, 1) = TextBox2
Set rngZiel = Nothing

End Sub

Gruß Gerd
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 12:03:43
Leo
Probiere ich gleich mal aus. Danke. Ich melde mich nochmal.

Ich habe da noch eine Sache, tut mir leid 🙈 Wenn ich die Texte über die Textboxen eintrage macht er das auch. Jedoch muss ich immer nach jedem Eintrag in die Zelle rein gehen und dann noch einmal enter drücken damit die bedingte Formatierung ausgelöst wird.

Gibt es dazu etwas, womit ich nach den Eintrag über die Textboxen in die jeweilige Zelle reingeht und enter "gedrückt wird".
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 10:24:49
Leo
Ja genau.. Jedoch soll ich die Prüfung variabel sein. Also, es soll immer geprüft werden ob was in der Zelle schon eintragen ist.

Wenn nicht soll er den Eintrag in die nächste freie Zelle (rechts daneben eintragen).

Bedeutet:
Wenn in A1 nichts drin steht, dann schreib trage Eingabe ein. Wenn etwas drin steht, B1 prüfen ob etwas in Zelle schon drin steht. Dann C1 prüfen etc..

Gruß,
Leo
Anzeige
AW: VBA über Textfeld eine Eingabe machen
03.07.2024 10:41:08
Beverly
Das ging so leider nicht aus deiner Fragestellung hervor.

Wenn es immer die nächste freie Spalte sein soll dann o:

    Dim intLetzte As Integer

intLetzte = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, intLetzte + 1) = Textfeld1
Cells(1, intLetzte + 2) = Textfeld2


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
Korrektur
03.07.2024 10:45:44
Beverly
Damit auch in A1/B1 ein Eintrag erfolgende kann:

    Dim intLetzte As Integer

intLetzte = Cells(1, Columns.Count).End(xlToLeft).Column
If intLetzte = 1 Then
Cells(1, intLetzte) = Textfeld1
Cells(1, intLetzte + 1) = Textfeld2
Else
Cells(1, intLetzte + 1) = Textfeld1
Cells(1, intLetzte + 2) = Textfeld2
End If


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige