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

Forumthread: Wert in textbox ändern

Wert in textbox ändern
16.01.2017 13:06:14
Thomas
Guten Tag, ich hänge hier an einem Problem.
Ich habe eine Userform mit einer multipage und bis jetzt 47 Textboxen die alle einen wert aus unterschiedlichen sheets.
funktioniert auch alles prima. Mein Label1 ist basis für alle anderen Textboxen.
Beispiel:
In Label1 wähle ich "Fernseher" aus
In Textbox2 bekommen ich dann mittels:
Me.textbox2 = WorksheetFunction.VLookup(Label1, Sheets("abc").Range("A22:AR80"), 3, 0)
den Preis usw....
ich würde jetzt aber gerne z.B. den Preis in der Textbox ändern können dazu muss eer ja in die richtige Zelle geschrieben werden.
wie müsste die Auswahl der richtigen Zelle aussehen ?
Spalte ist ja fest.... Preis steht in Spalte 3. Nur die Zeile ist abhänig Label1.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert in textbox ändern
16.01.2017 14:13:01
Tino
Hallo,
mir ist zwar nicht bekannt das man in einem Label was auswählen kann.
Hier mal mit einer Combobox die ich Label1 genannt habe!
Private Sub Label1_Change()
Dim varRow
TextBox2.ControlSource = ""
TextBox2.Value = ""
If Label1.Value  "" Then
With Sheets("abc").Range("A22:AR80")
varRow = Application.Match(Label1, .Columns(1), 0)
If IsNumeric(varRow) Then
TextBox2.ControlSource = .Cells(varRow, 3).Address(1, 1, External:=True)
Else
MsgBox Label1 & " wurde nicht gefunden!"
End If
End With
End If
End Sub
Gruß Tino
Anzeige
AW: Wert in textbox ändern
16.01.2017 18:19:32
Thomas
Da hab mich wohl missverständlich Ausgedrückt.
Die Daten werden von einer Pivot-Tabelle an das Label übergeben....
Und ich würde jetzt gerne über die Textboxen Werte angezeigt bekommen (funktioniert)
und gegebenfalls Werte ändern/aktuallisieren und/oder eintragen.
Die Werte sollen dann in die entsprechenden Zellen eingetragen werden.
siehe Beispieldatei
https://www.herber.de/bbs/user/110611.xlsm
Anzeige
AW: Wert in textbox ändern
17.01.2017 14:09:47
Thomas
Danke. Funktioniert so weit. das einzige Problem was es mir macht, ist es Funktioniert nur auf einem Sheet.
AW: Wert in textbox ändern
17.01.2017 15:13:25
Tino
Hallo,
weis jetzt nicht was Du meinst?!
In der Beispieldatei hat es funktioniert!
Gruß Tino
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Wert in Textbox ändern und in Excel aktualisieren


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Stelle sicher, dass Deine Userform mit der benötigten Anzahl an Textboxen und einem Label (Label1) vorhanden ist.

  2. Datenquelle einrichten: Die Daten, die Du in den Textboxen anzeigen möchtest, sollten in einem Excel-Sheet vorhanden sein.

  3. VBA-Code einfügen:

    • Klicke mit der rechten Maustaste auf Deine Userform und wähle "Code anzeigen".
    • Füge den folgenden Code ein, um den Preis in der Textbox zu ändern:
    Private Sub Label1_Change()
       Dim varRow
       TextBox2.ControlSource = ""
       TextBox2.Value = ""
       If Label1.Value <> "" Then
           With Sheets("abc").Range("A22:AR80")
               varRow = Application.Match(Label1, .Columns(1), 0)
               If IsNumeric(varRow) Then
                   TextBox2.ControlSource = .Cells(varRow, 3).Address(1, 1, External:=True)
               Else
                   MsgBox Label1 & " wurde nicht gefunden!"
               End If
           End With
       End If
    End Sub
  4. Textbox-Werte aktualisieren: Um die Werte in den entsprechenden Zellen zu aktualisieren, kannst Du weitere Logik hinzufügen, um die Textbox-Werte bei Bedarf zurückzuschreiben.


Häufige Fehler und Lösungen

  • Fehler: "Label1 wurde nicht gefunden!"
    Lösung: Überprüfe, ob der Wert in Label1 tatsächlich in der ersten Spalte des angegebenen Datenbereichs vorhanden ist.

  • Fehler: Textbox zeigt keinen Wert an
    Lösung: Stelle sicher, dass die ControlSource der Textbox korrekt auf die Zelle zeigt. Dies kann im Code durch Debugging herausgefunden werden.


Alternative Methoden

Wenn Du nicht mit den Standard-Textboxen arbeiten möchtest, kannst Du auch eine ComboBox verwenden. Dies ermöglicht eine einfachere Auswahl und Eingabe von Werten.

Hier ist ein Beispiel, wie Du eine ComboBox statt einer Textbox verwenden kannst:

Private Sub ComboBox1_Change()
    Dim varRow
    If ComboBox1.Value <> "" Then
        With Sheets("abc").Range("A22:AR80")
            varRow = Application.Match(ComboBox1.Value, .Columns(1), 0)
            If IsNumeric(varRow) Then
                TextBox2.Value = .Cells(varRow, 3).Value
            Else
                MsgBox ComboBox1.Value & " wurde nicht gefunden!"
            End If
        End With
    End If
End Sub

Praktische Beispiele

Wenn Du eine Excel-Datei mit einer Pivot-Tabelle verwendest, kannst Du die Werte dynamisch aktualisieren. Hier ein Beispiel, wie Du den Wert aus der Pivot-Tabelle in Deine Textbox übertragen kannst:

TextBox2.Value = Worksheets("PivotSheet").PivotTables("PivotTable1").GetPivotData("Preis", "Produkt", Label1)

Tipps für Profis

  • Verwende das "Worksheet_Change"-Ereignis: So kannst Du die Zellen aktualisieren, wenn sich die Werte in den Textboxen ändern, ohne einen Button zu klicken.

  • Datenvalidierung: Stelle sicher, dass die Eingaben in den Textboxen den gewünschten Datentyp haben (z.B. nur numerische Werte für Preise).


FAQ: Häufige Fragen

1. Wie kann ich den Wert in der Textbox direkt in die Zelle schreiben?
Du kannst einen Button hinzufügen, der beim Klicken den aktuellen Wert der Textbox in die entsprechende Zelle schreibt, z.B. mit Sheets("abc").Cells(varRow, 3).Value = TextBox2.Value.

2. Funktioniert das nur in bestimmten Excel-Versionen?
Die genannten Methoden sollten in Excel 2010 und späteren Versionen funktionieren. Achte darauf, dass Du die richtigen Einstellungen für die Makros vornimmst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige