Probleme bei Userform

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Probleme bei Userform
von: Peter
Geschrieben am: 21.10.2015 12:03:31

Hallo Excel-Freunde,
benötige wieder einmal Eure Hilfe.
Ich habe eine Exceltabelle mit 53 Spalten von A - Z.
Über eine UserForm möchte ich einen Wert aus der Tabelle in eine Textbox einfügen,
wobei die Klein-Grossschreibung keine Rolle spielen sollte. Wenn dieser Wert ein-
mal oder mehrfach gefunden wird, sollen die gesamten Zeilen in einer Listbox aufge-
listet werden und zwar von A-Z. Beim Anklicken der entsprechenden benötigten Zeile
in darunter befindliche Textboxen übertragen werden. Nach Änderung sollen dann per
Button die Werte in der entsprechenden Zeile geändert werden.
Meine bisherige Recherche ergab, dass die AddItemMethode nur bis zu 10 Spalten mög-
lich ist eine andere Lösung habe ich bisher nicht gefunden.
Mittels welchem Code ist dies zu realisieren.
Besten Dank im Voraus
Gruss Peter

Bild

Betrifft: AW: Probleme bei Userform
von: Daniel
Geschrieben am: 21.10.2015 12:15:25
Hi
du kannst die Werte in ein 2-Dimensionales Array schreiben und dann dieses Array der Listbox zuweisen.
dann funktionieren auch mehr als 10 Spalten
du kannst auch so vorgehen:
1. filtere in der Liste mit dem Autofilter nach dem gesuchten Wertt
2. kopiere die gefilterten Werte in ein leeres Tabellenblatt und lies sie von dort in die Listbox ein mit:

Listbox1.List = Sheets("Tabelle2").cells(1,1).currentRegion.value

damit du nachher beim Ändern auch weisst auf welche Zeile du in der Tabelle zugreifen musst, kannst du ja die Zeilennummer in einer zusätzlichen Spalte in der Originaltabelle mit aufnehmen.
Gruß Daniel

Bild

Betrifft: AW: Probleme bei Userform
von: Peter
Geschrieben am: 21.10.2015 13:03:28
Hallo Daniel,
danke für Deine schnelle Antwort. Leider kann ich das nicht umsetzen. Ich kenne mich mit
zwei-dimensionalen-Array nicht aus. Bei meiner Tabelle handelt es sich um eine sehr umfangreiche
Adress-Datei. Anbei eine Musterdatei mit der Bitte in die UserForm1 dieses Array einzufügen.
Datei:https://www.herber.de/bbs/user/100937.xlsm
Besten Dank
Gruss Peter

Bild

Betrifft: AW: Probleme bei Userform
von: matthias
Geschrieben am: 27.10.2015 14:05:15
Hallo Peter,
nach Daniels zweiter Strategie ist das recht simpel:
https://www.herber.de/bbs/user/101060.xlsm (UserForm2)
Wenn ich dich richtig verstanden habe, möchtest du den gesamten Bereich nach deinem Suchterm durchforsten, nicht nur eine Spalte, sodass der Autofilter nicht ganz zum Ziel führt. Daher eine Suchschleife, welche die Zeile in das 2. Blatt kopiert.
Die Suche musst du dabei noch nach deinen Wünschen anpassen, ich habe hier zu Testzwecken nur LookAt:=xlPart verwendet. Am besten den Makrorecorder anschmeißen, Strg+F drücken und die Suche so konfigurieren wie du sie brauchst und die Eigenschaftswerte aus der Klammer dann in die Routine der Userform einfügen.
Das Füllen der TextBoxen nach Selektion ist auch dabei, jedoch war ich zu faul für alle Spalten ein Label und TextBox zu erstellen. Dies und die Optik sind von dir auszubessern. Nicht vergessen im ListBox1_Click- und CommandButton3_Click-Event die Schleifenzähler anzupassen wenn alle TextBoxen vorhanden sind.
lg Matthias

Bild

Betrifft: AW: Problem noch nicht gelöst
von: Peter
Geschrieben am: 28.10.2015 13:18:21
Hallo Matthias,
besten Dank für Deine Hilfe. Funktioniert soweit. Ich blicke jedoch nicht durch, wie ich es anstellen soll, für die Änderung die weiteren Textboxen zu ergänzen.
Dein Befehl für Änderungsbutton lautet:

Private Sub CommandButton3_Click()
Dim x As Long
Dim wks As Worksheet, wksFilter As Worksheet
Set wks = Tabelle1
Set wksFilter = Tabelle2
For x = 3 To 12 '55 wenn alle TextBoxen erstellt sind
    wks.Cells(TextBox2.Value, x - 2).Value = Me.Controls("TextBox" & x).Value
    wksFilter.Cells(lIndex + 1, x - 1).Value = Me.Controls("TextBox" & x).Value
Next x
End Sub
Wie muss ich hier die nächsten TextBoxes eintragen?
Danke für Deine Hilfe.
Gruss Peter

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Probleme bei Userform"