Textbox mit Tabellenfeld verbinden
#1
Hallöchen,

ich habe eine Frage.

Ich setze ein Textfeld (bei mir Textbox2)in ein Tabellenblatt, gebe dann vom Textfeld/Textbox in dessen Eigenschaften LinkedCell die Quelle an z.B. "Ausgaben!E10" und in der Textbox erscheint dann promt  (ohne das ich ein Button betätigen muss) was im Tabellenblatt"Ausgaben", Zelle "E10" steht.

Wie ist das aber, wenn ich die TextBox (bei mir Textbox2) in eine Userform (bei mir Userform1) setze, dort gibt es dann in Eigenschaften keine Zeile LinkedCell?
Wie muß ich da den Code für Sub ... End schreiben, wenn die Daten (Zahlen) vom Tabellenblatt "Ausgaben", Zelle "E10" ausgelesen werden???
 
Sub
Sheet ("Ausgabe").Activate
Sheet ("Ausgabe").Range("E10") = Userform1.Textbox2.Value
Sheet.calculate
End
funzt bei mir nicht.

Ich habe leider in der Literatur Herbert und Held keine Antworten gefunden, weswegen ich bei Euch die Frage stellen muss.

Grüße Elyos


(Ist es wirklich zwingend erforderlich einen Button zu setzen? Wenn ja, wie ist da der Quellcode???
Top
#2
Hallo,

sieh mal, ob du hier unter UserForms Antworten auf deine Fragen findest.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
finde da nichts. Manche Dateien aus dem Internet lassen sich auch nicht öffnen (ist ein öffentlicher Rechner).

Ich denke, dass dürfte doch nicht so schwer sein. Den Inhalt einer Zelle, aus einem bestimmten Tabellenblatt in einer TextBox, die sich in einer Userform auszulesen??

Elyos
Top
#4
Hallo Elyos,

vielleicht mit ControlSource? Wink

Gruß Uwe
Top
#5
Hallo Elyos

ich bin jetzt mit deiner Frage nicht ganz klar gekommen, probiere aber mal mit zur Lösung beizutragen.
Dein Code kann nicht funktionieren wenn er so im Original geschrieben wurde!!   Da fehlt der Makro Name und End Sub!!!

Sub ....    (Sub was???   hier steht kein Name, z.B. Makro1()      
Sheet ("Ausgabe").Activate      (auf den Befehl kann man verzichten)
Sheet ("Ausgabe").Range("E10") = Userform1.Textbox2.Value
Sheet.calculate
End         (hier fehlt Sub - als End Sub) 

Willst du den Wert aus der Tabelle in die geöffnete UserForm laden dann so:   (z.B. über Button)
Sub TextBox_laden()      
   Userform1.Textbox2.Value = Sheet ("Ausgabe").Range("E10").Value
End Sub 

Soll der Wert beim Starten der UserForm (über UserForm1.Show) geladen dann als Initialisierung:
Private Sub UserForm_Initialize()
   Textbox2.Value = Sheet ("Ausgabe").Range("E10").Value
End Sub 

Ich hoffe diese Information helfen dir weiter. Würde mich freune wenn es klappt ...

mfg  Gast 123
Top
#6
(19.01.2018, 18:17)Gast 123 schrieb: Hallo Elyos

ich bin jetzt mit deiner Frage nicht ganz klar gekommen, probiere aber mal mit zur Lösung beizutragen.
Dein Code kann nicht funktionieren wenn er so im Original geschrieben wurde!!   Da fehlt der Makro Name und End Sub!!!

Sub ....    (Sub was???   hier steht kein Name, z.B. Makro1()      
Sheet ("Ausgabe").Activate      (auf den Befehl kann man verzichten)
Sheet ("Ausgabe").Range("E10") = Userform1.Textbox2.Value
Sheet.calculate
End         (hier fehlt Sub - als End Sub) 

Willst du den Wert aus der Tabelle in die geöffnete UserForm laden dann so:   (z.B. über Button)
Sub TextBox_laden()      
   Userform1.Textbox2.Value = Sheet ("Ausgabe").Range("E10").Value
End Sub 

Soll der Wert beim Starten der UserForm (über UserForm1.Show) geladen dann als Initialisierung:
Private Sub UserForm_Initialize()
   Textbox2.Value = Sheet ("Ausgabe").Range("E10").Value
End Sub 

Ich hoffe diese Information helfen dir weiter. Würde mich freune wenn es klappt ...

mfg  Gast 123


Danke für die Antwort. Mit dieser Antwort kann ich was anfangen. Ich wollte eigentlich kein Button verwenden, sondern der Wert in der Textbox2 in der Userform1 soll sich sofort verändern, wenn in der Tabelle "Ausgabe", in der Zelle "E10" was ändert. Initialize bzw. Über öffnen und schließen wollte ich nicht die Datei bearbeiten = die Variante Sub TextBox2_laden habe ich noch nicht probiert - werde diese Variante gleich ausprobieren.
Top
#7
Hallo,

Ich habe notbehelfs ein Button eingebunden:

Private Sub CommandButton1_Click()
      Me.TextBox2.Value = Sheets("Ausgaben").Range("E10")
End Sub

Es funktioniert,
aber ein sofortiges Auslesen des aktuellen Wertes in der TExtbox2 ohne betätigen eines Button würde mich glücklich machen.

Vielleicht habt ihr noch Ideen oder Vorschläge.

Elyos
Top
#8
Hallo,

die Lösung dazu hast du doch schon von Gast123.

Im VBA-Editor Rechtsklick auf deine Userform - Code anzeigen
Im rechts oben im Pulldownmenü wählst du Initialize
Dort kopierst du diese Codezeile rein
Code:
Me.TextBox2.Value = Sheet("Ausgabe").Range("E10").Value


Gruß Werner
Top
#9
Hallo

wnn du die TextBox bei Eingabe in eine Zelle aktualisieren willst fügen diesen Code bitte in die Tabelle ein, die du bearbeitetst.  
Ein Makro über die Target Funktion, mit genauer Auswertung der Zelle die du als Adresse angibst.

mfg  Gast 123


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$E$10" Then
     UserForm1.TextBox2.Value = Sheet("Ausgabe").Range("E10").Value
  End If
End Sub
Top
#10
(19.01.2018, 19:49)Elyos schrieb: Es funktioniert,
aber ein sofortiges Auslesen des aktuellen Wertes in der TExtbox2 ohne betätigen eines Button würde mich glücklich machen.

siehe Lösung in #4    Undecided
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste