dynamische Auswahlliste
Hallo Wilfried,
Jetzt sehe ich bei mir in Tabelle 1 das Textfenster. Bei
Eingabe eines Buchstaben erscheint die Meldung „laufzeitfehler
1004
Anwendungs oder objektbez. Fehler“.
Im Debugger ist die komplette Zeile
Zei = .Cells(Rows.Count, 1.End(x1Up).Row
gelb unterlegt.
mal grundsätzlich, schreibe Codezeilen hier nicht rein sondern kopier sie rein. damit vermeidest du Schreibfehler und daraus entstehende Irrationen.
So war die Codezeile von mir nicht, da fehlt ein „)“
Da ich den Code getestet hatte bin ich brettsicher daß der Debugger mich auf dieses fehlende Klämmerchen hingewisen hätte.
Übrigens befindet sich in Tabelle2!A1 die Überschrift
„Ortsliste“ und ab A2 nach unten die 450 Orte.
In Tabelle2!B1 steht ebenfalls „Ortsliste“, weiter nach unten
leer.
Das ist egal was da steht, im Test stand bei mir „Orte“. Wichtig ist einzig daß in A1 und B1 das gleiche steht.
Darf ich dich nochmal mit dem Problem behelligen???
Ich kann nur raten was du anders gemacht hast und lasse das raten 
Nimm nochmals eine neue leere Mappe, Alt+F11, Einfügen—Modul.
In dieses Modul kopierst du nachstehenden Code und läßt die prozedur
„TestlisteErzeugen“ einmalig ausführen mit Alt+F8… in Excel.
Dann hast du die gleiche Testumgebung wie ich sie hatte/habe.
Dann wie geschrieben oder wenn du eh schon im VB-Editor bist mit DOPPELklick auf „tabelle1“ das Modul des Blattes auswählen.
Dort dann den Code aus meiner ersten Antwort reinkopieren.
Dann MUß das funktionieren, naja, außer du hast kein deutsches Excel oder sonstige Gründe.
Gruß
Reinhard
Sub TestlisteErzeugen()
Dim Zei As Long, Z1 As Long, Z2 As Long, Z3 As Long, strX As String
Application.ScreenUpdating = False
With Worksheets("Tabelle2")
.UsedRange.ClearContents
.Range("A1:B1").Value = "Orte"
Zei = 1
For Z1 = 65 To 90
For Z3 = 1 To 30
strX = Chr(Z1)
For Z2 = 1 To 9
strX = strX & Chr(65 + Int(Rnd() \* 10))
Next Z2
Zei = Zei + 1
.Cells(Zei, 1) = strX
Next Z3
Next Z1
.Columns("A:A").Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlYes, \_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
Worksheets("Tabelle1").OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, \_
DisplayAsIcon:=False, Left:=51, Top:=20.25, Width:=149.25, Height:= \_
20.25).Name = "TextBox1"
Application.ScreenUpdating = True
End Sub
Danke im Voraus
Wilfried