Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1436to1440
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
Inhaltsverzeichnis

UserForm Daten suchen/laden

UserForm Daten suchen/laden
03.08.2015 06:49:17
Manu
Hallo,
ich arbeite an einer Userform mit welcher man Daten aus einer bestehenden Excel Tabelle laden und auch ändern kann. Die Änderungen können auch gespeichert und sofort übernommen werden. Den Code dafür habe ich, es läuft auch super. Das einzige Problem ist, Do While Cells(i + 1, 1).Value "x"
genau diese Zeile.
Das bedeutet, dass diese Suchfunktion nur dann funktioniert wenn ein X in das Tabellenblatt geschrieben wird. Wenn ich nur "" schreibe funktioniert es nur dann wenn keine leeren Zellen vorhanden sind. Wie könnte ich das Problem lösen? (evtl lässt sich das Do While ersetzen, durch for to oder if ..... )
https://www.sendspace.com/file/mb9udv
Sub getData()
Dim id As String
Dim i As Integer
Dim j As Integer
Dim flag As Boolean
If IsNumeric(UserForm1.TextBox4.Value) Then
flag = False
i = 1
id = UserForm1.TextBox4.Value
Do While Cells(i + 1, 1).Value  "x"
If Cells(i + 1, 4).Value = id Then
flag = True
For j = 2 To 6
UserForm1.Controls("TextBox1").Value = Cells(i + 1, 1).Value
UserForm1.Controls("TextBox2").Value = Cells(i + 1, 2).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 2 To 6
UserForm1.Controls("TextBox1").Value = ""
UserForm1.Controls("TextBox2").Value = ""
Next j
End If
If flag = False Then
End If
Else
ClearForm
End If
End Sub

Sub EditAdd()
Dim id As String
Dim i As Integer
Dim j As Integer
Dim flag As Boolean
Dim emptyRow As Long
If UserForm1.TextBox4.Value  "" Then
flag = False
i = 1
id = UserForm1.TextBox4.Value
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
Do While Cells(i + 1, 1).Value  "x"
If Cells(i + 1, 4).Value = id Then
flag = True
For j = 2 To 20
Cells(i + 1, 1).Value = UserForm1.Controls("TextBox1").Value
Cells(i + 1, 2).Value = UserForm1.Controls("TextBox2").Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 1 To 20
Cells(emptyRow, 1).Value = UserForm1.Controls("TextBox1").Value
Cells(emptyRow, 1).Value = UserForm1.Controls("TextBox2").Value
Next j
End If
End If
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Daten suchen/laden
03.08.2015 10:40:37
Sepp
Hallo Manu,
1. Einträge sucht man am besten mit .Find()
2. Die Datei hat nichts mit deinem Code zu tun!
3. Deine For-Schleifen sind Nonsens.
4.Lade Deine Beispieldatei (mit dem richtigen Code) hier hoch, nicht jeder vertraut den z. T. dubiosen filehostern.
Gruß Sepp

AW: UserForm Daten suchen/laden
03.08.2015 10:41:50
Rudi
Hallo,
was soll das denn?
For j = 2 To 6
UserForm1.Controls("TextBox1").Value = Cells(i + 1, 1).Value
UserForm1.Controls("TextBox2").Value = Cells(i + 1, 2).Value
Next j

5x hintereinander Werte in 2 TextBoxen?
Gruß
Rudi

Anzeige
AW: UserForm Daten suchen/laden
03.08.2015 11:18:05
Manu

Die Datei https://www.herber.de/bbs/user/99275.xlsm wurde aus Datenschutzgründen gelöscht


AW: UserForm Daten suchen/laden
03.08.2015 11:25:24
Manu
Danke dass du mir helfen willst Sepp. Ich habs leider noch nicht allein lösen können. In der beigefügten Datei habe ich bewusst einiges leer gelassen um das ganze zu testen.
1. Das eine ist, dass Combobox2 (City) nicht die Werte von dem entsprechenden Sheet (Cities) bezieht, sondern immer von dem gerade geöffneten. Deswegen ist der Button in sheet1. So soll es funktionieren später.
2. Das andere ist die Sache mit dem X in der Do while codezeile, es kann schon mal vorkommen, dass eine Zelle leer bleibt. Nach meinem Code müsste man irgendwo in der Tabelle ein X reinschreiben,, aber das müsste bestimmt auch anders gehen.
Vielen Dank für die Hilfe, datei ist oben.
Gruß

Anzeige
AW: UserForm Daten suchen/laden
03.08.2015 11:34:56
Sepp
Hallo Manu,
ich würde dir schon helfen, allerdings ist es schwer nachzuvollziehen, was du eigentlich erreichen willst.
Ich kann nur raten, welche Einträge wo im UF angezeigt werden sollen.
Warum hat deine Datenliste keine Überschriften? Dann wäre die Zuordnung einfach.
Für mich ergeben die Einträge in den Zeilen 2 bis 4 z. B. keinen Sinn, für dich ist es einfach, weil du weißt, was du willst, wir können nur Raten.
Gruß Sepp

AW: UserForm Daten suchen/laden
03.08.2015 12:44:40
Manu
Ok gerne. Es ist so: In Textbox9 (Spalte I) werden Werte eingetragen die in Spalte I stehen. Nachdem ein Wert z B von I5 eingetragen wurde, werden alle Werte der Zeile 5 in die anderen Textboxen eingetragen. Analog Spalte D. Das sind die Suchkriterien. Alles was in einer Zeile steht gehört zusammen. Erreicht habe ich dies mit getData, geändert werden kann Text mit Sub EditAdd.
Bei den Comboboxen sieht es anders aus. Die eine mit Country funktioniert wie gedacht, die zweite City bleibt leer, wenn aktuell Sheet1 offen ist. Diese Combobox müsste jetzt Werte vom Sheet mit Namen Cities beziehen, oder eben einfach von einem ganz bestimmten. Man könnte auch ein neues erstellen.

Anzeige
AW: UserForm Daten suchen/laden
03.08.2015 12:49:42
Manu
Ok die Textboxen sollen sich füllen wenn der Button in Sheet Cities ist. Einfach rüberkopieren. Das hab ich jetzt vergessen.

AW: UserForm Daten suchen/laden
03.08.2015 16:40:07
Manu
Ich hab das ganze nochmal überarbeitet, jetzt kennt man sich aus. Also, man wählt 1 Land aus und in der zweiten Combobox wird die dazugehörige Stadt angezeigt. Die Combobox Country funktioniert, aber bei Combobox2 City gibt es ein Problem. Es bezieht sich nicht auf das Sheet mit den Städten.
Und das zweite die Do While Zeile mit dem "X". Ich will das so schreiben dass alles durchsucht wird, die S Werte, also S11, S26 usw. sollen in die Textboxen geschrieben werden, Spalte I ist Suchkriterium, angezeigt werden soll alles was in der gleichen Zeile steht wie der eingetippte Wert.
Analog Spalte D, das ist nur ein weiteres Suchkriterium.
Ich wäre für Hilfe dankbar.

Anzeige
AW: UserForm Daten suchen/laden
04.08.2015 09:28:47
Manu
Weiss jemand wo der Fehler liegt? Entschuldigung wegen dem durcheinander, jetzt ist die Datei besser gestaltet. Die Zahlen und Namen des Sheets Cites einfach mit reinnehmen, soll alles in der Combobox City angezeigt werden. Die ganze Reihe, wie bei Combobox Country.
Gruß

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige