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

ListBox ändert Tabelle

ListBox ändert Tabelle
21.02.2023 13:30:57
Antonio
Hallo Liebe Gemeinde,
Ich habe diese Szenario:
ListBox7 - Listbox1 - Listbox9
A -123456 -abcdef
B -987654 -lmnopq
C -100300
A -252525
C -666555
Listbox7 Bezeichnungen
Listbox1 Daten zur Bezeichnung
Listbox9 Alternative Bezeichnungen
Über UF Initialize, werden ListBox7 und listbox1aus tabelle gefüllt:
For lng = 32 To wks1.Cells(rows.Count, 10).End(xlUp).row         
    If Sheets("Neuer_Song").Cells(lng, 10) > "" Then
    ListBox7.AddItem
    ListBox7.List(ListBox7.ListCount - 1, 0) = wks1.Cells(lng, 10).Value
    ListBox1.AddItem
    ListBox1.List(ListBox1.ListCount - 1, 0) = wks1.Cells(lng, 27).Value
    ListBox1.List(ListBox1.ListCount - 1, 1) = wks1.Cells(lng, 28).Value
    ListBox1.List(ListBox1.ListCount - 1, 2) = wks1.Cells(lng, 29).Value
    ListBox1.List(ListBox1.ListCount - 1, 3) = wks1.Cells(lng, 30).Value
    ListBox1.List(ListBox1.ListCount - 1, 4) = wks1.Cells(lng, 31).Value
    ListBox1.List(ListBox1.ListCount - 1, 5) = wks1.Cells(lng, 32).Value

Über listbox7 wird listbox9 gefüllt:
Private Sub ListBox7_Click()  'Bünde aufrufen
  Dim a, rF As Range
  Sheets("Bünde").Activate
  With Sheets("Bünde")
    Set rF = Columns(1).Find(What:=ListBox7, LookAt:=xlWhole)
    a = Range(rF, rF.End(xlDown).Offset(-1)).Offset(, 1).Resize(, 6)
  End With
  With ListBox9
    .Clear
    .List = a
  End With
   Label79.Caption = ListBox9.ListCount - 1 & " " & "Einträge gefunden"

Beim auswählen einer Bezeichnung in listbox7,
scrollt listbox1 syncron mit auf die entsprenden Daten.
In listbox9 sind jetzt die alternativ Daten zur der Bezeichnung.
Durch click in listbox9, werden die alternativ Daten in sechs Textbox aufgenommen
und in listbox1 (der selektiert Item) durch diese ersezt
und in der Tabelle werden auch die Werte ersezt.
So Ich hoffe bis hier alles OK!
Mein Problem ist:
wenn ich zB.nur ein "A" ersezten will
werden aber alle "A" ersezt mit dem gleichen Wert.
Es kommen mehrere gleiche Bezeichnungen in der Tabelle vor und ich würde sie gerne einzeln bearbeiten.
Ich hoffe ihr versteht was ich meine,
kann ich leider keine Mappe zur Verfügung stellen weil zu groß, umfangreich und spielt sich alles über mehrere Tabelle.
Vielen Dank im Voraus
LG Antonio

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

Betreff
Datum
Anwender
Anzeige
AW: ListBox ändert Tabelle
21.02.2023 17:14:56
ralf_b
hallo Antonio,
Wo ist der Code für das Ersetzen der Werte? Wie sagst du deinem Programm das du nur ein "A" ersetzen möchtest?
AW: ListBox ändert Tabelle
21.02.2023 17:20:18
Antonio
Hallo ralf_b
Mist vergessen.....please hold the line
Private Sub ListBox9_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
    Dim I As Integer
    Dim c As Range
    Dim lng As Long
    Dim rngBereich As Range
    Dim strErste As String
    Worksheets("Neuer_Song").Activate
    With Worksheets("Neuer_Song")
        Set rngBereich = .Range(.Cells(32, 10), .Cells(.rows.Count, 10).End(xlUp))
        Set c = rngBereich.Find(ListBox7, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            strErste = c.Address
            Do
                .Cells(c.row, "AA").Value = TextBox40
                .Cells(c.row, "AB").Value = TextBox41
                .Cells(c.row, "AC").Value = TextBox42
                .Cells(c.row, "AD").Value = TextBox43
                .Cells(c.row, "AE").Value = TextBox44
                .Cells(c.row, "AF").Value = TextBox45
                Set c = rngBereich.FindNext(c)
            Loop While Not c Is Nothing And c.Address > strErste
        End If
    End With
     For I = 0 To ListBox9.ListCount - 1
        If ListBox9.Selected(I) Then
            ListBox1.List(ListBox1.ListIndex, 0) = TextBox40
            ListBox1.List(ListBox1.ListIndex, 1) = TextBox41
            ListBox1.List(ListBox1.ListIndex, 2) = TextBox42
            ListBox1.List(ListBox1.ListIndex, 3) = TextBox43
            ListBox1.List(ListBox1.ListIndex, 4) = TextBox44
            ListBox1.List(ListBox1.ListIndex, 5) = TextBox45
        End If
     
  Next I
    MsgBox "Griffe wurden ersetzt!", vbInformation, csHeadtext & "XML-Akkorde ersetzen"
 End Sub
sorry einfach vergessen
LG Antonio
Anzeige
AW: ListBox ändert Tabelle Nachtrag
21.02.2023 17:24:00
Antonio
Das ist eben,
mit dem Code ändert alle "A"
Ich habe mit dem Selektiert Item versucht, hat auch nicht gefunzt.
Mein jetztiger Stand ist das alle gleiche Item im listbox7 geändert werden.
LG
AW: ListBox ändert Tabelle Nachtrag
21.02.2023 19:31:20
ralf_b
schreibe dir die Zeilennummer in eine zusätzliche Spalte von Listbox7 und Listbox1.
Wenn du auf Listbox 7 klickst, weist du wo du die Werte ersetzen mußt , weil in der zusätzlichen Spalte die Zeilennummer steht. Somit kannst du auf rng.find und do -loop verzichten.

ListBox7.AddItem
ListBox7.List(ListBox7.ListCount - 1, 0) = wks1.Cells(lng, 10).Value
ListBox7.List(ListBox7.ListCount - 1, 1) = lng
...
 ListBox1.List(ListBox1.ListCount - 1, 6) = lng
für das Eintragen reicht eine Einzeiler

sh.Cells(listbox7.List(indx, 1), "AA").Resize (,6).Value = Array(TextBox40, TextBox41, TextBox42, TextBox43, TextBox44, TextBox45)
Deine Erklärung ist schwer verständlich. Das könnte daran liegen das du mit 3 Listboxen und 6 Textboxen Werte hin und her schiebst. Vor einer Weile warst du schon einmal mit so einer verwirrenden Sache hier. Ich schätze deine Problemstellung läßt sich bestimmt etwas unkomplizierter lösen. Aber dazu fehlt es an Informationen.

Anzeige
AW: ListBox ändert Tabelle Nachtrag
21.02.2023 19:45:41
Antonio
Danke zunächst für deine Hilfstellung.
Ich weiß, ich tue mir es schwer zu erklären, dazu kommt das Deutsch nicht meine Muttersprache ist aber ich bemühe mich.
Ich werde deine Codevorschläge ausprobieren auch weil ich den ganzen Teg versuche auf eine Lösung zu Kommen. Deprimierend.
Ich schreibe die hier mein E-Mail Adresse um dir eine zip zu senden.
Wenn du mir schreibst weiß ich das du interesse hast.
mazzatoni24@gmail-com
bin morgen wieder Online.
LG Antonio
AW: ListBox ändert Tabelle Nachtrag
22.02.2023 10:15:40
Antonio
Hallo ralf_b
habe dein code etwas geändert und in deiner Tabelle funzt.
Habe den Code übernommen in meinem Projekt, Fehler, die With Blockade.......
Ich werde versuchen dir eine Mappe zu senden wenn ich schaffe das limit an Daten
zu erreichen durch abspecken, es ist vielleicht die bessere Lösung, falls du noch dabei bist.
Aber so wie du Schwierigkeit gehabt hast meine Erklärung zu verstehen,
mache ich mir auch schwer die Idee mit der Numeric Hilfsspalte umzusetzen
Die finde ich super wäre nie darafgekommen.
Wenn es für dich OK ist poste später eine Mappe, vielleicht ist verständlicher.
LG Antonio
Anzeige
AW: an ralf_b Mappe
22.02.2023 12:07:10
Antonio
Hi Ralf_b anbei die Mappe
zimlich abgespeckt aber die wichtige Sachen, für dich, sind vorhanden.
https://www.herber.de/bbs/user/157947.xlsm
In Listbox7 Click zB.: Fm
Listbox1 markiert mit
in Listbox9 erscheinen die Daten aus Tabelle "Bünde" wichtig NICHTS ancklicken
mit DropDown, in ListBox9 anwählen,
jetzt direkt in Listbox9 ancklicken den selectiert item.
in Tabelle "Neuer_Song" kannst beobachten das in "AA" alle Fm geändert sind, es sollte nur den markiert Fm sein
Ich tue mir schwer die Numeric Hilfspalte zu erstellen für "AA" die Spalte "Z"
und für Tabelle "Bünde" sollte in "H" oder "I" sein.
Ich habe es gestern verd...mt kompliziert erklärt, es wird nicht in und her gesprungen,
es sind drei Listbox mit unterschiedlicheWerte um in der Tabelle ein Resultat zu erreichen.
LG Antonio
Anzeige
AW: Erledigt, Danke ralf_b
22.02.2023 14:26:12
Antonio
Vielen Dank
LG Antonio
AW: Tabelle unverändert
23.02.2023 07:57:35
Antonio
Hi ralf_b,
danke für die Mappe,
aber bei deinem Code wird durch den Betton "Eintragen" in Listbox1 den Wert geändert
aber in der Tabelle nicht, durch setzen einen Haltepunktin:
 With Worksheets("Neuer_Song")
        .Cells(indx, "AA").Value = TextBox40
        .Cells(indx, "AB").Value = TextBox41
        .Cells(indx, "AC").Value = TextBox42
        .Cells(indx, "AD").Value = TextBox43
        .Cells(indx, "AE").Value = TextBox44
        .Cells(indx, "AF").Value = TextBox45
    End With
zeigen die Textboxen die Werte an, werden dennoch nicht an die Tabelle übertragen.
LG Antonio
Anzeige
AW: Tabelle unverändert
23.02.2023 19:34:40
ralf_b
tchja, dann ist das halt so. Die Werte werden nur an anderer Stelle in die Tabelle geschrieben.
indx = .List(.ListIndex, 3) hier die 6 setzen an Stelle der 3 die Zeilennummer ist in Spalte 6 der Listbox1
aber das hast du sicher selbst bereits herausgefunden.
Ich bin dann hier fertig.
AW: Danke owT
24.02.2023 13:47:57
Antonio
;-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige