Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Daten über ComboBox auslesen, Textboxen aktualisie

Betrifft: Daten über ComboBox auslesen, Textboxen aktualisie von: Dieter.K
Geschrieben am: 14.08.2004 18:43:33

Hallo Forum,

ich möchte Euch wieder einmal um Eure Hilfe bitten, komme nicht so recht weiter.

Über eine ComboBox lese ich einen Datensatz in mehrere Textboxen ein.
Hierzu benutze ich folgenden Code:

Private Sub ComboBox1_Click()
Dim rng As Range
   Dim iCounter As Integer
   Dim sSearch As String
     sSearch = ComboBox1.Text
        If sSearch = "" Then
  MsgBox ("Bitte geben Sie den Suchbegriff ein!")
   Call TextBoxEntleeren
  ComboBox1.SetFocus
     Exit Sub
     End If
    Set rng = Columns("C").Find( _
      what:=sSearch, lookat:=xlWhole, LookIn:=xlValues)
   If rng Is Nothing Then
      Beep
      MsgBox "Dieser Name ist nicht vorhanden!"
      Call TextBoxEntleeren
    ComboBox1.SetFocus
      Exit Sub
   End If
   For iCounter = 1 To 12
     frmKundenAdressen.Controls("TextBox" & iCounter).Text = _
         Cells(rng.Row, iCounter)
   Next iCounter
   cmdDatenÄndern.Enabled = True
ComboBox1.SetFocus
cmdschließen.SetFocus
End Sub


Kommt jedoch der Begriff aus der ComboBox mehrfach vor, so werden die TextBoxen bei Auswahl eines anderen, gleichlautenden Begriffs nicht aktualisiert.

Wie muß ich den Code ändern, bzw. was muß ich ggf. hinzufügen?


Danke für Eure Hilfe.

Gruß
Dieter.K
  


Betrifft: AW: Daten über ComboBox auslesen, Textboxen aktualisie von: K.Rola
Geschrieben am: 14.08.2004 19:41:10

Hallo,

bin nicht sicher ob ich dich richtig verstehe, wo kommt der Suchbegriff doppelt oder mehrfach vor, in der Combobox oder in der Suchmatrix?

Gruß K.Rola


  


Betrifft: AW: Daten über ComboBox auslesen, Textboxen aktualisie von: Luschi
Geschrieben am: 14.08.2004 21:08:49

Hallo Dieter,

der Find-Befehl findet immer nur den 1. Suchbegriff in Suchbereich. Um auch die
anderen Stellen ansteuern zu können , benötigt man den FindNext-Befehl.
Das sieht dann so aus:
With Worksheets("meineTabelle").Range("C:C")
    Set rng = .Find(sSearch, lookin:=xlValues)
    If Not (rng Is Nothing) Then
       Do
           firstAddress = rng.Address
           For iCounter = 1 To 12
               frmKundenAdressen.Controls("TextBox" & iCounter).Text = _
                    Cells(rng.Row, iCounter)
           Next iCounter
           antw = MsgBox("Weitersuchen ?", 32 + 4)
           If ant = vbNo then
              Exit Do
           Else
              Set rng = .FindNext(sSearch)
           End If
        Loop While (Not rng Is Nothing) And (rng.Address <> firstAddress)
    End If
End With

Deine ungenauen Bereichsangabe "Columns("C")" und "Cells(rng.Row, iCounter)"
können sehr schnell dazu führen, daß in den falschen Tabellen gesucht, gelesen
oder geschrieben wird. Erstelle Dir lieber ein Object der gemeinten Tabelle und verwende dieses Objekt dan in der Referenzierung.
z.B:
Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets("meineTabelle")
Set rng = ws.Range("C")

Dann wird Excel immer mit der richtigen Tabelle arbeiten. Auch wenn diese Vorgehens-
weise oft als übertrieben und penibel abgetan wird. Aber gerade ein neu hinzuge-
fügter Activate- oder Select-Befehl kann dann dazu führen, daß man plötzlich unbewußt
in der falschen Tabelle landet und sich wundert, warum das Programm plötzlich falsch
arbeitet.

Gruß von Luschi
aus klein-Paris


  


Betrifft: AW: Daten über ComboBox auslesen, Textboxen aktualisie von: Dieter.K
Geschrieben am: 14.08.2004 21:31:49

Hallo K.Rola, Hallo Luschi!

@K.Rola:
Der Suchbegriff kommt mehrfach vor, wenn z.B. mehrfach der gleiche Nachname (Name1) eingegeben wurde.

@Luschi:
Ich werde nachher mal versuchen Deinen Code in meine Datei einzubauen (bin mir allerdings nicht sicher, ob das bei meinen VBA-Kenntnissen funktioniert. Aber, probieren geht über studieren).


@ALL:
Ich habe zum besseren Verständnis die Datei mal hochgeladen (im Anfang, Angebotstabelle ist noch im Aufbau, weitere Tabellen werden noch eingebaut). Es geht mir in erster Linien zunächst um die Adressen, da ich dann hier vorkommende Codes in die anderen Tabellen übernehmen kann (wenn diese Codes denn funktionieren).

Gruß
Dieter.K

https://www.herber.de/bbs/user/9640.xls


  


Betrifft: AW: Daten über ComboBox auslesen, Textboxen aktualisie von: Luschi
Geschrieben am: 15.08.2004 21:41:51

Hallo Dieter,

ich habe mal in Deiner Datei die Suche im Formular Angebote soweit vervollständigt,
daß Du nach Name-1 suchen kannst. Mit dem Fragezeichen wird der 1. Suchort gefunden
und mit dem danebenliegenden Spin-Button kannst Du vorwärts bzw. rückwärts suchen.
Mit ein paar Kommentaren, habe ich versucht, meine Vorgehensweise verständlicher
zu machen.

https://www.herber.de/bbs/user/9668.xls

Gruß von Luschi
aus klein-Paris


 

Beiträge aus den Excel-Beispielen zum Thema "Daten über ComboBox auslesen, Textboxen aktualisie"