Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

tabellenwerte in Userform anzeigen und ändern

Betrifft: tabellenwerte in Userform anzeigen und ändern von: Lisa
Geschrieben am: 28.10.2014 11:39:55

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

  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: yummi
Geschrieben am: 28.10.2014 11:58:28

Hallo Lisa,

immer direkt vor der Zelle oder Range die du meinst.
z.B.
Sheet("Tabelle3").Cells(myRow,1) = TextBox1.Text then

Gruß
yummi


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Lisa
Geschrieben am: 28.10.2014 12:21:01

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


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: yummi
Geschrieben am: 28.10.2014 12:29:50

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


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Lisa
Geschrieben am: 28.10.2014 13:30:01

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


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: yummi
Geschrieben am: 28.10.2014 13:52:02

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


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Lisa
Geschrieben am: 28.10.2014 14:51:36

Hallo yummi, auch das funktioniert nun wie ich es mir vorgestellt habe.
Vielen Dank für die Bemühungen.

LG Lisa


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Matthias L
Geschrieben am: 28.10.2014 12:35:37

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


  

Betrifft: kannst Du den Link schicken von: Matthias L
Geschrieben am: 28.10.2014 12:02:47

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


  

Betrifft: AW: kannst Du den Link schicken von: Lisa
Geschrieben am: 28.10.2014 12:12:51

https://www.herber.de/forum/archiv/1216to1220/1217142_tabellenwerte_in_Userform_anzeigen_und_aendern.html

Hallo Mathias, anbei der Link

LG Lisa


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Lisa
Geschrieben am: 28.10.2014 12:27:37

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


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Ewald
Geschrieben am: 28.10.2014 13:40:43

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


  

Betrifft: AW: tabellenwerte in Userform anzeigen und ändern von: Lisa
Geschrieben am: 28.10.2014 14:49:40

Hallo Ewald, besten Dank, das funktioniert wie gewollt.

LG Lisa


 

Beiträge aus den Excel-Beispielen zum Thema "tabellenwerte in Userform anzeigen und ändern "