Supportnet / Forum / Tabellenkalkulation
Multipage
Frage
Hallo zusammen,
Also ich habe eine Userform auf der eine Multipage ist. Auf dieser Multipage sind 3 Page1, Page2, und Page3. Auf jeder Page ist eine Listbox und mehre Textboxen.
Dazu habe ich 3 Tabelle1, 2,3 in denen in A1 bis E1 Daten stehen.
Nun möchte ich in der Listbox die Daten von Tabelle 1 in Page1, von Tabelle2 in Page 2 und von Tabelle3 in Page3 immer von A1 stehen haben.
Wer kann mir einen Rat geben wie ich das machen soll
MfG
Pitvilla
[*][quote][sup][i]Admininfo: bitte vermeide Mehrfachanfragen in verschiedenen, bzw. gleichen Gruppen. Siehe [url=https://supportnet.de/groupfaqs/3][u]FAQ2.[/u][/url][/i][/sup][/quote]
Antwort 1 von coros
Nabend Pitvilla,
zunächst einmal verstehe ich nicht so ganz, warum Du für einen einzelnen Wert eine Listbox verwendest und nicht eine Text- oder Labelbox. Eine Listbox nimmt man normalerweise wenn man mehrer Werte hat. Aber Du wirst schon wissen warum. Nachfolgend der Code, der in das VBA Projekt der UserForm gehört, in der sich die Multipage befindet.
Mit dem Code werden die Listboxen 1- 3 mit den Daten aus Spalte A aus den Blättern 1- 3 gefüllt. Wenn Du Deine Listboxen umbenannt haben solltest, musst Du die Namen im dem Code abändern.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
zunächst einmal verstehe ich nicht so ganz, warum Du für einen einzelnen Wert eine Listbox verwendest und nicht eine Text- oder Labelbox. Eine Listbox nimmt man normalerweise wenn man mehrer Werte hat. Aber Du wirst schon wissen warum. Nachfolgend der Code, der in das VBA Projekt der UserForm gehört, in der sich die Multipage befindet.
Option Explicit
Private Sub UserForm_Initialize()
ListBox1.AddItem Sheets("Tabelle1").Range("A1")
ListBox2.AddItem Sheets("Tabelle2").Range("A1")
ListBox3.AddItem Sheets("Tabelle3").Range("A1")
End Sub
Mit dem Code werden die Listboxen 1- 3 mit den Daten aus Spalte A aus den Blättern 1- 3 gefüllt. Wenn Du Deine Listboxen umbenannt haben solltest, musst Du die Namen im dem Code abändern.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Pitvilla
Hallo Oliver
Danke für Deine schnelle Antwort.
Natürlich stehen in A1 mehr Daten ca. 400
Dumm von mir, falsch beschrieben.
ListBox1.AddItem Sheets("Tabelle1").Range("A1")
was muss ich dann ändern um alle Daten in A1 zu sehen?
MfG
Pitvilla
Danke für Deine schnelle Antwort.
Natürlich stehen in A1 mehr Daten ca. 400
Dumm von mir, falsch beschrieben.
ListBox1.AddItem Sheets("Tabelle1").Range("A1")
was muss ich dann ändern um alle Daten in A1 zu sehen?
MfG
Pitvilla
Antwort 3 von coros
Hi Pitvilla,
gar nichts. Denn mit dem Befehl Range("A1") werden alle Daten, die in der Zelle A1 stehen angezeigt. Oder meinst Du vielleicht, dass Du ca. 400 Daten in Spalte A hast?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
gar nichts. Denn mit dem Befehl Range("A1") werden alle Daten, die in der Zelle A1 stehen angezeigt. Oder meinst Du vielleicht, dass Du ca. 400 Daten in Spalte A hast?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von Pitvilla
Hallo Oliver
Ja ich habe ca. 400 Daten in A1 stehen.
MfG
Pitvilla
Ja ich habe ca. 400 Daten in A1 stehen.
MfG
Pitvilla
Antwort 5 von Pitvilla
nachtrag
Ja ich habe ca. 400 Daten in Spalte A1 stehen.
Ja ich habe ca. 400 Daten in Spalte A1 stehen.
Antwort 6 von Pitvilla
3. Versuch
Ja ich habe ca. 400 Daten in Spalte A stehen.
MfG
Pitvilla
Ja ich habe ca. 400 Daten in Spalte A stehen.
MfG
Pitvilla
Antwort 7 von coros
Hi ,
dann sieht der Code folgendermaßen aus.
Ich hoffe, Du hast das so gemeint. Wenn nicht oder bei Fragen, bzw. Änderungswünschen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
dann sieht der Code folgendermaßen aus.
Option Explicit
Private Sub UserForm_Initialize()
Dim Wiederholungen As Long
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
ListBox1.AddItem Sheets("Tabelle1").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
ListBox2.AddItem Sheets("Tabelle2").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
ListBox3.AddItem Sheets("Tabelle3").Cells(Wiederholungen, 1)
Next
End Sub
Ich hoffe, Du hast das so gemeint. Wenn nicht oder bei Fragen, bzw. Änderungswünschen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von Pitvilla
Hallo Oliver
Vielen, vielen Dank.
Genau so etwas habe ich gesucht.
MfG
Pitvilla
Vielen, vielen Dank.
Genau so etwas habe ich gesucht.
MfG
Pitvilla
Antwort 9 von coros
Hi Pitvilla,
gern geschehen. Danke auch für die Rückmeldung.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
gern geschehen. Danke auch für die Rückmeldung.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 10 von Pitvilla
Hallo Oliver
Jetzt habe ich mich schon so gefreut, daß alles funtioniert, aber so ist es nicht.
Mit den Daten in Spalte A ist alles klar.
Nur wenn ich nun in der Listbox in Page1 den Namen (Meier) anklicke, möchte ich gerne die weiteren Daten die in Spalte B und in Spalte C stehen in den Textboxen angezeigt bekommen.
Kanst Du mir bitte noch einmal helfen?
MfG
Pitvilla
Jetzt habe ich mich schon so gefreut, daß alles funtioniert, aber so ist es nicht.
Mit den Daten in Spalte A ist alles klar.
Nur wenn ich nun in der Listbox in Page1 den Namen (Meier) anklicke, möchte ich gerne die weiteren Daten die in Spalte B und in Spalte C stehen in den Textboxen angezeigt bekommen.
Kanst Du mir bitte noch einmal helfen?
MfG
Pitvilla
Antwort 11 von coros
Hi Pitvilla,
damit nachfolgender Code ohne Probleme funktioniert müssen sich in Page 2 die TextBoxen 1 & 2, in Page 2 die TextBoxen 3 & 4 und in Page 3 die TextBoxen 5 & 6 befinden. Lösche Deinen alten Code in dem VBA Projekt der UserForm mit der Multipage und kopiere nachfolgenden dort hinein.
Mit dem werden wenn in der Listbox etwas ausgewählt wird, die Daten aus Spalte B und C in den Textboxen angezeigt.
Ich hoffe, dass Du das so wolltest. Ansonsten melden.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
damit nachfolgender Code ohne Probleme funktioniert müssen sich in Page 2 die TextBoxen 1 & 2, in Page 2 die TextBoxen 3 & 4 und in Page 3 die TextBoxen 5 & 6 befinden. Lösche Deinen alten Code in dem VBA Projekt der UserForm mit der Multipage und kopiere nachfolgenden dort hinein.
Option Explicit
Public Wiederholungen As Long
Private Sub ListBox1_Change()
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
If Sheets("Tabelle1").Cells(Wiederholungen, 1) = ListBox1.Text Then
TextBox1.Text = Sheets("Tabelle1").Cells(Wiederholungen, 2)
TextBox2.Text = Sheets("Tabelle1").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub ListBox2_Change()
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
If Sheets("Tabelle2").Cells(Wiederholungen, 1) = ListBox2.Text Then
TextBox3.Text = Sheets("Tabelle2").Cells(Wiederholungen, 2)
TextBox4.Text = Sheets("Tabelle2").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub ListBox3_Change()
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
If Sheets("Tabelle3").Cells(Wiederholungen, 1) = ListBox3.Text Then
TextBox5.Text = Sheets("Tabelle3").Cells(Wiederholungen, 2)
TextBox6.Text = Sheets("Tabelle3").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub UserForm_Initialize()
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
ListBox1.AddItem Sheets("Tabelle1").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
ListBox2.AddItem Sheets("Tabelle2").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
ListBox3.AddItem Sheets("Tabelle3").Cells(Wiederholungen, 1)
Next
End Sub
Mit dem werden wenn in der Listbox etwas ausgewählt wird, die Daten aus Spalte B und C in den Textboxen angezeigt.
Ich hoffe, dass Du das so wolltest. Ansonsten melden.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 12 von Pitvilla
Hallo Oliver
Nochmal vielen Dank für Deine Hilfe.
Es klappt wunderbar.
MfG
Pitvilla
Nochmal vielen Dank für Deine Hilfe.
Es klappt wunderbar.
MfG
Pitvilla
Antwort 13 von Pitvilla
Hallo Oliver
Ich habe mal eine Frage.
Ich habe den Code von Oskarlein mal bei mir auf der Multipage ausprobiert und er funktioniert einwann frei.
Leider nur auf der erste Page1 nicht auf der Page2.
Was muß denn daran verändet werden das er auf der Page2 auch läuft.
Private Sub TextBox1_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox1, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG
Pitvilla
Ich habe mal eine Frage.
Ich habe den Code von Oskarlein mal bei mir auf der Multipage ausprobiert und er funktioniert einwann frei.
Leider nur auf der erste Page1 nicht auf der Page2.
Was muß denn daran verändet werden das er auf der Page2 auch läuft.
Private Sub TextBox1_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox1, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG
Pitvilla
Antwort 14 von coros
Hi Pitvilla,
das hat nichts mit der Page zu tun. Du musst schauen, welche Bezeichnung Deine Text- und ListBox auf Page2 hat und die dann entsprechend in dem Code eintragen. Als Beispiel: Die TextBox-Bezeichnung (Name) auf Page2 ist TextBox3 und der Name der ListBox ist ListBox2, dann sieht der Code folgendermaßen aus.
Ich hoffe, Du hast meine Erklärung verstanden. Wenn nicht, dann melde Dich wieder.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das hat nichts mit der Page zu tun. Du musst schauen, welche Bezeichnung Deine Text- und ListBox auf Page2 hat und die dann entsprechend in dem Code eintragen. Als Beispiel: Die TextBox-Bezeichnung (Name) auf Page2 ist TextBox3 und der Name der ListBox ist ListBox2, dann sieht der Code folgendermaßen aus.
Private Sub TextBox3_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox3, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox2.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Ich hoffe, Du hast meine Erklärung verstanden. Wenn nicht, dann melde Dich wieder.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 15 von Pitvilla
Hallo Oliver
Es geht nicht. Hier ist mein Code.
´Mit Textbox suchen nach Alben
Private Sub TextBox27_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox27, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox4.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG
Pitvilla
Es geht nicht. Hier ist mein Code.
´Mit Textbox suchen nach Alben
Private Sub TextBox27_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox27, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox4.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG
Pitvilla
Antwort 16 von coros
Hi Pitvilla,
das sollte es aber, wenn sich sowohl TextBox27 in das Du die Eingabe machst und ListBox4 in der Page2 Deiner Multipage befinden. Es wird also irgend etwas bei Dir in Deiner Datei nicht stimmen. Kontrolliere noch mal alles, eventuell hat sich ja ein Fehler eingeschlichen.
Ansonsten wird es schwer, Dir zu helfen, denn der Code, wie er von mir stammt und von Dir entsprechend abgeändert wurde funktioniert. Man müsste dann Deine Datei vor Augen haben, damit man das ganze kontrollieren kann.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das sollte es aber, wenn sich sowohl TextBox27 in das Du die Eingabe machst und ListBox4 in der Page2 Deiner Multipage befinden. Es wird also irgend etwas bei Dir in Deiner Datei nicht stimmen. Kontrolliere noch mal alles, eventuell hat sich ja ein Fehler eingeschlichen.
Ansonsten wird es schwer, Dir zu helfen, denn der Code, wie er von mir stammt und von Dir entsprechend abgeändert wurde funktioniert. Man müsste dann Deine Datei vor Augen haben, damit man das ganze kontrollieren kann.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 17 von Pitvilla
Hallo Oliver
Danke für Deine Antwort
Werde nochmal alles durchgehen
MfG Pitvilla
Danke für Deine Antwort
Werde nochmal alles durchgehen
MfG Pitvilla
Antwort 18 von Pitvilla
Hallo Oliver
Ich habe den Code noch einmal in einer anderen Excel Datei ausprobiert die genauso aufgebaut ist.
Da kamm beim 3. Buchstabe den ich eingab diese Fehlermeldung:
Laufzeitfehler 380
Eigenschaft Listindex konnte nicht gesetzt werden.
Ungültiger Eigenschaftenwert.
ListBox1.ListIndex = Suchbegriff.Row - 3
MfG
Pitvilla
Ich habe den Code noch einmal in einer anderen Excel Datei ausprobiert die genauso aufgebaut ist.
Da kamm beim 3. Buchstabe den ich eingab diese Fehlermeldung:
Laufzeitfehler 380
Eigenschaft Listindex konnte nicht gesetzt werden.
Ungültiger Eigenschaftenwert.
ListBox1.ListIndex = Suchbegriff.Row - 3
MfG
Pitvilla
Antwort 19 von coros
Hi Pitvilla,
klar, dann wird der bei der Subtraktion "Suchbegriff.Row - 3" ein Ergebnis kleiner 0 (Null) rauskommen. Das funktioniert dann logischerweise nicht, da der erste Eintrag in der ListBox den Index 0 (Null) hat. Wobei ich nun auch nicht so ganz verstehe, warum Du aus der -1 eine -3 gemacht hast.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
klar, dann wird der bei der Subtraktion "Suchbegriff.Row - 3" ein Ergebnis kleiner 0 (Null) rauskommen. Das funktioniert dann logischerweise nicht, da der erste Eintrag in der ListBox den Index 0 (Null) hat. Wobei ich nun auch nicht so ganz verstehe, warum Du aus der -1 eine -3 gemacht hast.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 20 von Pitvilla
Hallo Oliver
Ich bin´s die Nervensäge.
Ich habe es nochmal neu ausprobiert und es geht nicht. Man kann immer nur auf einer Page suchen.
Hier mal der Code zusammengestellter Code.
Ich hoffe Du findes den Fehler.
Option Explicit
Public Wiederholungen As Long
Private Sub ListBox1_Change()
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
If Sheets("Tabelle1").Cells(Wiederholungen, 1) = ListBox1.Text Then
TextBox1.Text = Sheets("Tabelle1").Cells(Wiederholungen, 2)
TextBox2.Text = Sheets("Tabelle1").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub ListBox2_Change()
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
If Sheets("Tabelle2").Cells(Wiederholungen, 1) = ListBox2.Text Then
TextBox3.Text = Sheets("Tabelle2").Cells(Wiederholungen, 2)
TextBox4.Text = Sheets("Tabelle2").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub ListBox3_Change()
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
If Sheets("Tabelle3").Cells(Wiederholungen, 1) = ListBox3.Text Then
TextBox5.Text = Sheets("Tabelle3").Cells(Wiederholungen, 2)
TextBox6.Text = Sheets("Tabelle3").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub UserForm_Initialize()
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
ListBox1.AddItem Sheets("Tabelle1").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
ListBox2.AddItem Sheets("Tabelle2").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
ListBox3.AddItem Sheets("Tabelle3").Cells(Wiederholungen, 1)
Next
End Sub
Private Sub TextBox7_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox7, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Private Sub TextBox8_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox8, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox2.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Private Sub TextBox9_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox9, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox3.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG
Pitvilla
Ich bin´s die Nervensäge.
Ich habe es nochmal neu ausprobiert und es geht nicht. Man kann immer nur auf einer Page suchen.
Hier mal der Code zusammengestellter Code.
Ich hoffe Du findes den Fehler.
Option Explicit
Public Wiederholungen As Long
Private Sub ListBox1_Change()
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
If Sheets("Tabelle1").Cells(Wiederholungen, 1) = ListBox1.Text Then
TextBox1.Text = Sheets("Tabelle1").Cells(Wiederholungen, 2)
TextBox2.Text = Sheets("Tabelle1").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub ListBox2_Change()
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
If Sheets("Tabelle2").Cells(Wiederholungen, 1) = ListBox2.Text Then
TextBox3.Text = Sheets("Tabelle2").Cells(Wiederholungen, 2)
TextBox4.Text = Sheets("Tabelle2").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub ListBox3_Change()
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
If Sheets("Tabelle3").Cells(Wiederholungen, 1) = ListBox3.Text Then
TextBox5.Text = Sheets("Tabelle3").Cells(Wiederholungen, 2)
TextBox6.Text = Sheets("Tabelle3").Cells(Wiederholungen, 3)
End If
Next
End Sub
Private Sub UserForm_Initialize()
For Wiederholungen = 1 To Sheets("Tabelle1").Range("A65536").End(xlUp).Row
ListBox1.AddItem Sheets("Tabelle1").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle2").Range("A65536").End(xlUp).Row
ListBox2.AddItem Sheets("Tabelle2").Cells(Wiederholungen, 1)
Next
For Wiederholungen = 1 To Sheets("Tabelle3").Range("A65536").End(xlUp).Row
ListBox3.AddItem Sheets("Tabelle3").Cells(Wiederholungen, 1)
Next
End Sub
Private Sub TextBox7_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox7, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Private Sub TextBox8_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox8, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox2.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Private Sub TextBox9_Change()
Dim Suchbegriff As Range
With Range("A1:A" & Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox9, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox3.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG
Pitvilla
Antwort 21 von coros
Nabend Pitvilla,
besteht die Möglichkeit mir die Datei mal per Mail zukommen zu lassen. Wenn ja, dann schicke Sie mir bitte mal und ich schaue mir das morgen Abend mal an. Meine Mailadresse findest Du auf meiner HP u. a. im Impressum.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
besteht die Möglichkeit mir die Datei mal per Mail zukommen zu lassen. Wenn ja, dann schicke Sie mir bitte mal und ich schaue mir das morgen Abend mal an. Meine Mailadresse findest Du auf meiner HP u. a. im Impressum.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 22 von coros
Hi an alle,
Petvilla hat mir seine Datei geschickt und dabei ist mir aufgefallen, in den TextBox_Change-Ereignissen, die Angabe, aus welchem Blatt die Daten stammen, fehlen. Dashalb nur der Formhalber hier die Code für die 3 TextBox-Ereignisse noch mal aufgeführt.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Petvilla hat mir seine Datei geschickt und dabei ist mir aufgefallen, in den TextBox_Change-Ereignissen, die Angabe, aus welchem Blatt die Daten stammen, fehlen. Dashalb nur der Formhalber hier die Code für die 3 TextBox-Ereignisse noch mal aufgeführt.
Private Sub TextBox7_Change()
Dim Suchbegriff As Range
With Sheets("Tabelle1").Range("A1:A" & Sheets("Tabelle1").Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox7, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Private Sub TextBox8_Change()
Dim Suchbegriff As Range
With Sheets("Tabelle2").Range("A1:A" & Sheets("Tabelle2").Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox8, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox2.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
Private Sub TextBox9_Change()
Dim Suchbegriff As Range
With Sheets("Tabelle3").Range("A1:A" & Sheets("Tabelle3").Range("A65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox9, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox3.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 23 von Pitvilla
Hallo Oliver
Heute habe ich wieder eine Frage an Dich.
Wie kann ich, ( oder besser du ) den folgenden Code so anpassen, das er auf Page2 läuft. Auf Page1 läuft er einwandfrei.
´Text ändern in Textbox
Private Sub TextBox4_Change()
If ListBox2.ListIndex = -1 Then Exit Sub
Cells(Wiederholungen, 1).Value = TextBox4.Text
End Sub
Private Sub TextBox5_Change()
If ListBox2.ListIndex = -1 Then Exit Sub
Cells(Wiederholungen, 2).Value = TextBox5.Text
End Sub
Private Sub TextBox6_Change()
If ListBox2.ListIndex = -1 Then Exit Sub
Cells(Wiederholungen, 3).Value = TextBox6.Text
End Sub
´Anzeigen der einzelnen Angaben bei der Auswahl in der Listbox.
Private Sub ListBox2_Click()
Wiederholungen = ListBox2.ListIndex + 2
Beep
TextBox4.Text = Cells(Wiederholungen, 1).Value
TextBox5.Text = Cells(Wiederholungen, 2).Value
TextBox6.Text = Cells(Wiederholungen, 3).Value
End Sub
MfG
Pitvilla
Heute habe ich wieder eine Frage an Dich.
Wie kann ich, ( oder besser du ) den folgenden Code so anpassen, das er auf Page2 läuft. Auf Page1 läuft er einwandfrei.
´Text ändern in Textbox
Private Sub TextBox4_Change()
If ListBox2.ListIndex = -1 Then Exit Sub
Cells(Wiederholungen, 1).Value = TextBox4.Text
End Sub
Private Sub TextBox5_Change()
If ListBox2.ListIndex = -1 Then Exit Sub
Cells(Wiederholungen, 2).Value = TextBox5.Text
End Sub
Private Sub TextBox6_Change()
If ListBox2.ListIndex = -1 Then Exit Sub
Cells(Wiederholungen, 3).Value = TextBox6.Text
End Sub
´Anzeigen der einzelnen Angaben bei der Auswahl in der Listbox.
Private Sub ListBox2_Click()
Wiederholungen = ListBox2.ListIndex + 2
Beep
TextBox4.Text = Cells(Wiederholungen, 1).Value
TextBox5.Text = Cells(Wiederholungen, 2).Value
TextBox6.Text = Cells(Wiederholungen, 3).Value
End Sub
MfG
Pitvilla
Antwort 24 von coros
Hi itvilla,
wenn es sich immer noch um die gleiche UserForm mit der Multipage aus Deiner Testdatei geht, die Du mir geschickt hast, dann gehe ich mal davon aus, dass Du sowohl Daten aus dem Tabellenblatt "Tabelle2" holen, als auch Daten in das Tabellenblatt "Tabelle2" schreiben möchtest. Wenn dem so ist, dann musst Du vor die Zellendeklaration den Sheetsnamen schreiben. Also anstelle nur
Cells(Wiederholungen, 1).Value = TextBox4.Text
muss dort dann
Sheets("Tabelle2").Cells(Wiederholungen, 1).Value = TextBox4.Text
stehen. Wenn es sich nicht mehr um Deine Testdatei handelt, musst Du wohl einige Angaben zu Deiner Datei usw. machen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
wenn es sich immer noch um die gleiche UserForm mit der Multipage aus Deiner Testdatei geht, die Du mir geschickt hast, dann gehe ich mal davon aus, dass Du sowohl Daten aus dem Tabellenblatt "Tabelle2" holen, als auch Daten in das Tabellenblatt "Tabelle2" schreiben möchtest. Wenn dem so ist, dann musst Du vor die Zellendeklaration den Sheetsnamen schreiben. Also anstelle nur
Cells(Wiederholungen, 1).Value = TextBox4.Text
muss dort dann
Sheets("Tabelle2").Cells(Wiederholungen, 1).Value = TextBox4.Text
stehen. Wenn es sich nicht mehr um Deine Testdatei handelt, musst Du wohl einige Angaben zu Deiner Datei usw. machen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 25 von Pitvilla
Hallo Oliver
Ja, es ist noch die gleiche Testdatei die ich Dir geschickt habe.
Ich habe vorhin deine Änderung ausprobiert, und sie hat nur halb funktioniert. Man kann die Daten ändern, aber er schreibt sie nicht zurück.
Schau doch bitte noch einmal nach wo der Fehler steckt.
MfG
Pitvilla
Ja, es ist noch die gleiche Testdatei die ich Dir geschickt habe.
Ich habe vorhin deine Änderung ausprobiert, und sie hat nur halb funktioniert. Man kann die Daten ändern, aber er schreibt sie nicht zurück.
Schau doch bitte noch einmal nach wo der Fehler steckt.
MfG
Pitvilla
Antwort 26 von coros
Hi Pitvilla,
steht in der UserForm zusätzlich noch der Code aus Antwort 22? Es wäre gut, wenn Du mir die Datei noch mal schicken könntest (E-Mailadresse müsstest Du ja noch haben), da ich, ohne die Hellseherei auf die Schnelle zu erlernen, nicht sehen kann, was Du jetzt aktuell noch alles so in dem Projekt der UserForm zu stehen hast. Wenn Du mir die Datei heute zu einer annehmbaren Zeit schickst, schaue ich sie mir heute noch an. Ansonsten erst morgen am Abend oder Samstag, da ich morgen noch einen letzten Seminartag in Hamburg habe (sehr zum Leidwesen meiner Frau, die nun alleine zu Hause sitzt) und erst am Nachmittag nach Hause fahre werde.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
steht in der UserForm zusätzlich noch der Code aus Antwort 22? Es wäre gut, wenn Du mir die Datei noch mal schicken könntest (E-Mailadresse müsstest Du ja noch haben), da ich, ohne die Hellseherei auf die Schnelle zu erlernen, nicht sehen kann, was Du jetzt aktuell noch alles so in dem Projekt der UserForm zu stehen hast. Wenn Du mir die Datei heute zu einer annehmbaren Zeit schickst, schaue ich sie mir heute noch an. Ansonsten erst morgen am Abend oder Samstag, da ich morgen noch einen letzten Seminartag in Hamburg habe (sehr zum Leidwesen meiner Frau, die nun alleine zu Hause sitzt) und erst am Nachmittag nach Hause fahre werde.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.