Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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

Probleme bei Userform

Probleme bei Userform
21.10.2015 12:03:31
Peter
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme bei Userform
21.10.2015 12:15:25
Daniel
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

Anzeige
AW: Probleme bei Userform
21.10.2015 13:03:28
Peter
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

AW: Probleme bei Userform
27.10.2015 14:05:15
matthias
Hallo Peter,
nach Daniels zweiter Strategie ist das recht simpel:

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

(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

Anzeige
AW: Problem noch nicht gelöst
28.10.2015 13:18:21
Peter
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
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige