Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
tabellenwerte in Userform anzeigen und ändern
28.10.2014 11:39:55
Lisa
Hallo zusammen, ich habe von Mathias L folgenden Code in diesem Forum gefunden.
Mittels diesen Codes, kann man über einer TextBox in einer UserForm Daten aus einer Tabellencelle finden ändern und speichern.
Ich würde diesen gern für mich nutzen.
Vielen Dank übrigens an Mathias L,
Martine für den du dir die Mühe gemacht hast hat darauf nie geantwortet.
Nun habe ich eine Frage zur Anwendung. Ich müsste bitte auf ein Tabellenblatt zugreifen, Beispielsweise Tabelle3. Wie kann ich die Tabelle hier angeben?
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow&
For MyRow = 1 To 3
If Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = "B" & MyRow
'TextBox2 = Range("B" & MyRow).Value
TextBox3.ControlSource = "C" & MyRow
Exit For
End If
Next
End Sub
Vielen Dank für Eure Mühe
LG Lisa

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 11:58:28
yummi
Hallo Lisa,
immer direkt vor der Zelle oder Range die du meinst.
z.B.
Sheet("Tabelle3").Cells(myRow,1) = TextBox1.Text then
Gruß
yummi

AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 12:21:01
Lisa
Hallo yummi, vielen Dank für die schnelle Antwort.
Ich habe es mal umgesetzt, aber die Tabelle 3 wird hier nicht berücksichtigt.?
Habe ich die Umsetzung evtl. falsch verstanden?
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow&
For MyRow = 1 To 3
If Sheets(3).Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = "B" & MyRow
'TextBox2 = Range("B" & MyRow).Value
TextBox3.ControlSource = "C" & MyRow
Exit For
End If
Next
End Sub
LG Lisa

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 12:29:50
yummi
Hallo Lisa,
im Prinzip richtig. Es wird das 3. Sheet angesprochen, welches das bei dir ist weiß ich nicht, es kann auch ein anderes als Tabelle3 sein.
Ein einfacher "Trick" wenn du wissen willst worauf du zugreifst:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow&
For MyRow = 1 To 3
Sheets(3).Activate
Sheets(3).Cells(MyRow, 1).Select
If Sheets(3).Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = "B" & MyRow
'TextBox2 = Range("B" & MyRow).Value
TextBox3.ControlSource = "C" & MyRow
Exit For
End If
Next
End Sub
Dann kannst Du sehen, ob Du wirklich auf das Feld zugreifst, welches Du meinst. Die beiden Zeilen kannst Du, wenn alles ok ist wieder entfernen. Wenn Du das Sheet direkt mit Namen ansprichst, kannst Du sicher sein, dass Du auch das richtige bekommst (Sheet("Tabelle3") oder wie auch immer das richtige Sheet bei dir heisst)
Gruß
yummi

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 13:30:01
Lisa
Hallo yummi, ich habe diesen Code ausprobiert und wenn die Tabelle3 aktiviert wird, funktioniert es.
Nun wenn es nicht anders funktioniert muss es so gehen, schöner wäre es aber das die Tabelle3 in der ich letztlich Daten ändern will, die ja nur eine Grunddatentabelle- und ausgeblendet ist.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow&
For MyRow = 1 To 3
'Sheets(3).Activate
'Sheets(3).Cells(MyRow, 1).Select
If Sheets(3).Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = "B" & MyRow
TextBox3.ControlSource = "C" & MyRow
Exit For
End If
Next
End Sub

Sheets(3) ist auch Tabelle3
Ich habe die Mappe mal testweise angehängt.
https://www.herber.de/bbs/user/93416.xls
LG Lisa

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 13:52:02
yummi
Hallo Lisa,
es liegt an deienr Zuweisung zum ControlSource. Dort sprichst du nur die gerade aktive Tabelle an. Ich hab mal beide Möglichkeiten angegeben, sie gehen beide.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow As Long
For MyRow = 1 To 3
'Sheets(3).Activate
'Sheets(3).Cells(MyRow, 1).Select
If ThisWorkbook.Sheets("Tabelle3").Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = ThisWorkbook.Sheets("Tabelle3").Name & "!B" & MyRow
TextBox3.ControlSource = ThisWorkbook.Sheets(3).Name & "!C" & MyRow
Exit For
End If
Next
End Sub
Gruß
yummi

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 14:51:36
Lisa
Hallo yummi, auch das funktioniert nun wie ich es mir vorgestellt habe.
Vielen Dank für die Bemühungen.
LG Lisa

AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 12:35:37
Matthias
Hallo
Ist denn Sheets(3) auch "Tabelle3" ?
Wenn ja, dann mußt Du auch vor Range sauber referenzieren.
Das hatte yummi aber schon erwähnt.
Mach das aber nicht mit dem Index also Sheets(3), sondern mit dem CodeNamen der Tabelle
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow&
For MyRow = 1 To 3
If Tabelle3.Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = "B" & MyRow
'TextBox2 = Tabelle3.Range("B" & MyRow).Value
TextBox3.ControlSource = "C" & MyRow
Exit For
End If
Next
End Sub

Vor ControlSource müsste dann wahrscheinich auch noch Der Tabellenname geschrieben werden.
Nach diesem Motto:
TextBox3.ControlSource = "Tabelle3!C" & MyRow
Gruß Matthias

Anzeige
kannst Du den Link schicken
28.10.2014 12:02:47
Matthias
Hallo Lisa
Ich muss erst schauen aus welchem Beitrag der Code stammt und ob ich noch eine Datei dazu habe.
Kann micht nicht immer an alles erinnern.
Bin jetzt noch ca. ne halbe Stunde online.
Ich schaue heute abend noch mal rein
Evtl. reicht aber auch das schon
If Tabelle3.Cells(MyRow, 1) = TextBox1.Text Then oder'...
If Worksheets("Tabelle3").Cells(MyRow, 1) = TextBox1.Text Then'...
Wie geschrieben mir fehlt im Moment die Zuordnung, wo Du den Code gefunden hast.
Du kannst aber auch Deine Datei hochladen.
Gruß Matthias

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 12:27:37
Lisa
Hallo zusammen,
also ich könnte hier auch die Tabelle im Vorfeld aktivieren, nur das wollte ich irgendwie vermeiden.
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets(3).Activate
Dim MyRow&
For MyRow = 1 To 3
If Cells(MyRow, 1) = TextBox1.Text Then
TextBox2.ControlSource = "B" & MyRow
'TextBox2 = Range("B" & MyRow).Value
TextBox3.ControlSource = "C" & MyRow
Exit For
End If
Next
End Sub

LG lisa

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 13:40:43
Ewald
Hallo Lisa,
teste mal
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRow&
For MyRow = 1 To 3
If Sheets(3).Cells(MyRow, 1) = TextBox1.Text Then
Me.TextBox2.ControlSource = Sheets(3).Name & "!" & Cells(MyRow, 2).Address(0, 0)
Me.TextBox3.ControlSource = Sheets(3).Name & "!" & Cells(MyRow, 3).Address(0, 0)
MsgBox TextBox2.ControlSource
Exit For
End If
Next
End Sub
Wenn die Msgbox die richtige Tabelle anzeigt, kannst du die Zeile löschen
ansonsten weißt du wo der Fehler liegt.
ein Aktivieren der Tabelle ist nicht notwendig
Gruß Ewald

Anzeige
AW: tabellenwerte in Userform anzeigen und ändern
28.10.2014 14:49:40
Lisa
Hallo Ewald, besten Dank, das funktioniert wie gewollt.
LG Lisa

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige