Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
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
VBA Prozedur Kombinationsfeld füllen
VBA_starter
Hallo Leute,
ich verzweifele hier daheim. Nun habe ich schon im Selbststudium mit dem Buch "Einstieg in VBA mit Excel" alles versucht, aber ich komme absolut nicht weiter und hoffe hier auf euer Knowhow.
Ich habe eine Userform namens frmObjektAendern.
In dieser Userform gibt es ein Textfeld namens txtObjektSuchen.
Darunter ein Kombinationsfeld namens cmbObjektSuchen.
Zielstellung:
Durch Eingabe von Buchstaben/Suchbegriffen soll im Kombinationsfeld bereits mit der Suche gestartet werden und eine Liste als Ergebnis geliefert werden.
Ich benutze folgende Prozedur, nur klappt es nicht:
Private Sub txtObjektSuchen_Change()
' Liste mit Objekten füllen, die zum eingegebenen Text passen
ListeObjektefuellen Me
End Sub
'Liste mit Objekten füllen, die zu eingegebenen Text passen
Public Sub ListeObjektefuellen(frm As UserForm)
Dim Zeile As Integer
'Zugehörige Tabelle aktivieren
ThisWorkbook.Worksheets("Objektliste NSL").Activate
'Liste fuellen
frm.cmbObjektSuchen.Clear
Zeile = 5
Do While Cells(Zeile, 5).Value  ""
'Falls eingegebene Zeichen im Objektnamen vorkommen,
'dann diesen Objektnamen der Liste hinzufügen
If InStr(StrConv(Cells(Zeile, 5).Value, vbUpperCase), StrConv(frm.txtObjektSuchen.Text,  _
vbUpperCase)) > 0 Then
frm.cmbObjektSuchen.AddItem Cells(Zeile, 5).Value
End If
Zeile = Zeile + 1
Loop
'Falls Suchergebnis, ersten Eintrag anzeigen
If frm.cmbObjektSuchen.ListCount  0 Then
frm.cmbObjektSuchen.ListIndex = 0
End If
End Sub

Kann mir jemand sagen was ich falsch mache?Bitte?!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Prozedur Kombinationsfeld füllen
18.09.2012 21:45:22
Josef

Hallo ?,
warum so kompliziert?
Private Sub txtObjektSuchen_Change()
Dim rng As Range
Dim strFirst As String

cmbObjektSuchen.Clear

'Zugehörige Tabelle aktivieren
With ThisWorkbook.Worksheets("Objektliste NSL") 'nix .Activate
  
  Set rng = .Columns(5).Find(What:=txtObjektSuchen, LookIn:=xlValues, LookAt:=xlPart, _
    MatchCase:=False, After:=.Cells(1, 5))
  
  If Not rng Is Nothing Then
    strFirst = rng.Address
    Do
      If rng.Row > 4 Then cmbObjektSuchen.AddItem rng
      Set rng = .Columns(5).FindNext(rng)
    Loop While Not rng Is Nothing And strFirst <> rng.Address
  End If
  
  
  'Falls Suchergebnis, ersten Eintrag anzeigen
  If cmbObjektSuchen.ListCount <> 0 Then cmbObjektSuchen.ListIndex = 0
  
  Set rng = Nothing
End Sub




« Gruß Sepp »

Anzeige
End With fehlt!
18.09.2012 21:54:57
Josef
Private Sub txtObjektSuchen_Change()
  Dim rng As Range
  Dim strFirst As String
  
  cmbObjektSuchen.Clear
  
  'Zugehörige Tabelle aktivieren
  With ThisWorkbook.Worksheets("Objektliste NSL") 'nix .Activate
    
    Set rng = .Columns(5).Find(What:=txtObjektSuchen, LookIn:=xlValues, LookAt:=xlPart, _
      MatchCase:=False, After:=.Cells(1, 5))
    
    If Not rng Is Nothing Then
      strFirst = rng.Address
      Do
        If rng.Row > 4 Then cmbObjektSuchen.AddItem rng
        Set rng = .Columns(5).FindNext(rng)
      Loop While Not rng Is Nothing And strFirst <> rng.Address
    End If
  End With
  
  'Falls Suchergebnis, ersten Eintrag anzeigen
  If cmbObjektSuchen.ListCount <> 0 Then cmbObjektSuchen.ListIndex = 0
  
  Set rng = Nothing
End Sub


« Gruß Sepp »

Anzeige
AW: End With fehlt!
19.09.2012 08:56:18
VBA_starter
Vielen Dank für die schnelle Hilfe, nur funktioniert das auch nicht. Ich mache scheinbar irgendetwas Grundlegendes falsch.

AW: End With fehlt!
19.09.2012 09:10:10
VBA_starter
Gibt es vielleicht noch andere Lösungsvorschläge?

AW: End With fehlt!
19.09.2012 10:50:03
robert
Hi,
du solltest beschreiben, was nicht geht, denn nur so kann Sepp
an seiner Lösung weitermachen.
..das funktionisrt auch nicht...
ist keine gute Antwort.
Gruß
robert

AW: End With fehlt!
19.09.2012 14:56:04
VBA_starter
Hi Robert,
wenn ich wüsste was nicht funktioniert, dann würde ich versuchen das Problem zu lösen, nur weis ich es nicht was an der Prozedur nicht funktioniert. Denn meiner Meinung nach müsste die Prozedur voll anwendbar sein.
Sepp seine Lösung wird wohl funktionieren, nur löst es in meinem Kombinationsfeld keinerlei Abfrage aus, sprich es erscheint nicht einmal ein Suchwert.
Meine Einträge auf dem Tabellenblatt beginnen ab der 5 Zeile und den Wert den ich als Ergebnis haben möchte finde ich in der 5 Spalte. Sepp's Prozedur habe ich entsprechend abgeändert, aber da tut sich nichts.
Hast du denn eine andere Idee vielleicht, Robert?
Grüße
Andy

Anzeige
AW: End With fehlt!
19.09.2012 17:40:16
Josef

Hallo Andy,
lade doch deine Datei in der es nicht funktioniert hoch, sonst wird das zum Ratespiel.

« Gruß Sepp »

AW: End With fehlt!
19.09.2012 18:33:55
VBA_starter
Hallo Sepp,
das ist natürlich die beste Idee, nur kann ich hier offenbar nur .xl* hochladen. Meine Datei hat jedoch den Typ
.xlsx bzw. xlsm
Kannst du mir sagen wie ich sie dann hochladen kann.
Ich versuche es mal so darzustellen. Spalte 5 soll im Kombinationsfeld beim Suchen erscheinen. Der erste Eintrag der Tabelle beginnt in Zeile 5.
Status ID Objekt-Nr.: Kd.-Nr. Objektname Straße Haus-nr.: PLZ
aktiv 8000 00656 13000 Warenberg Rialtoring 26 12589
aktiv 6000 00483 13001 Adler Dörpfeldstr. 73 12489
aktiv 7000 00816 13002 Californien Kurfürstendamm 35 10719
aktiv 2010 01267 13003 Fuchs Finkenschlag 36 12527
aktiv 2897 01266 13004 Wohnhaus Finkenschlag 88 12527
aktiv 4000 01278 13005 Wohnberg Studistr. 107 12683

Anzeige
AW: End With fehlt!
19.09.2012 18:57:44
Josef

Hallo Andy,
xmls/xmlx lassen sich problemlos hochladen! Allerdings darf der Speicherpfad nicht zu tief sein und der Pfad/Dateiname darf keine Sonder-/Leer-Zeichen enthalten.

« Gruß Sepp »

AW: End With fehlt!
19.09.2012 19:10:36
VBA_starter
Du hattest wieder Recht, es lag an den Sonderzeichen!
Unter folgendem Link solltest du fündig werden!
https://www.herber.de/bbs/user/81897.xlsm
Danke schon einmal im Voraus!

Anzeige
AW: End With fehlt!
19.09.2012 19:24:26
Josef

Hallo Andy,
wenn du den Code von mir in das Modul von frmObjektAendern einfügst, dann läuft es auch!

« Gruß Sepp »

AW: End With fehlt!
19.09.2012 20:29:06
VBA_starter
Es ist mir echt unklar, aber nun funktioniert es mit deinem Code.
Ich bin dir so unendlich dankbar.
Vielleicht kannst du mir ja noch verraten was an meinem Code falsch war?
Auch würde mich interessieren woher du das kannst? Kannst du Lehrgänge empfehlen?
Vielen vielen Dank Sepp! Danke für die genommene Zeit!
Gruß Andy

Anzeige
AW: End With fehlt!
19.09.2012 21:06:44
Josef

Hallo Andy,
du hattest den Code an der falsche Stelle stehen.
Woher ich das Kann: Alles selber beigebracht. In diesem und anderen Foren mitlesen und ausprobieren.

« Gruß Sepp »

58 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige