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 Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Listboxeintrag in anderer Tabelle finden

Betrifft: Listboxeintrag in anderer Tabelle finden von: He Du da
Geschrieben am: 20.11.2014 13:22:45

hallo excel gemeinde,
habe hier ein kleines problem und komme nicht weiter.

Ich habe 2 Tabellenblätter (A & B) und eine Userform mit Listbox und Textbox für Tabelle A.
In der Listbox wird die Spalte A wiedergegeben und über die Textbox kann diese geändert oder neue Einträge hinzugefügt
werden.
In Tabelle B stehen dieselben Einträge(in Spalte O). Wenn ein neuer eintrag hinzukommt wird dieser ebenfalls (nächste freie Zeile)in Tabelle B geschrieben.
In Tabelle A sind die Einträge einmalig, in Tabelle B können sie jedoch x-mal vorhanden sein.
Ich benötige Hilfe dabei, ALLE Einträge in Tabelle B Spalte O zu suchen und umzuschreiben wenn sie in der Userform geändert werden.
(Eintrag identisch mit Listbox eintrag, neuer kommt von textbox)

Private Sub BspeichernAD_Click()
                
    Dim lZeile As Long
    Dim c As Range
        

    With Sheets("B").Range("O5:O" & Sheets("B").Range("O65536").End(xlUp).Row)
        Set c = .Find(ListBox1.Text, LookIn:=xlValues)
        If Not c Is Nothing Then
            lZeile = c.Row
        Else: lZeile = Sheets("B").Range("O65536").End(xlUp).Row + 1
        
        End If
 End With

For lZeile = 5 To c.Row
        Sheets("B").Cells(lZeile, 15) = TextBox1.Text
   Next lZeile

End Sub

wäre toll wenn jmd. einen Vorschlag hätte wie ich weitermachen könnte
danke schonmal

  

Betrifft: AW: Listboxeintrag in anderer Tabelle finden von: Peter (hpo)
Geschrieben am: 20.11.2014 13:46:21

Hallo

Vielleicht so:

Private Sub BspeichernAD_Click()
    Dim c As Objekt, intzähler as Integer
    intzähler = 0   
    For each c in Sheets("B").Range("O5:O" & Sheets("B").Range("O65536").End(xlUp).Row)
        If c.value = ListBox1.Text Then
          c.value = TextBox1.Text
          intzähler = intzähler + 1
        End If
    Next c
MsgBox "Es wurden " + intzähler + " Änderungen durchgeführt."
 
End Sub
Viele Grüße
Peter (hpo)


  

Betrifft: AW: Listboxeintrag in anderer Tabelle finden von: He Du da
Geschrieben am: 20.11.2014 13:53:10

super; funktioniert, musste nur Dim c As Objekt zu Variant machen.
vielen dank peter


 

Beiträge aus den Excel-Beispielen zum Thema "Listboxeintrag in anderer Tabelle finden"