Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1932to1936
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

Listboxeintrag überschreiben

Listboxeintrag überschreiben
26.06.2023 15:01:22
Rene

hallo zusammen, ich habe folgendes Problem.

ich fülle eine Listbox über die Listfillrange.wenn ich den Eintrag in der Listbox auswähle , möchte ich das die Einträge in der markierten Zeile der Listbox überschrieben werden.... ich habe folgenden code....

Private Sub commandbutton1_click()
With ("Tabelle1")
.Range(Listbox1ListFillRange).Cells(Listbox1.ListIndex + 1, 1) = textbox1
.Range(Listbox1ListFillRange).Cells(Listbox1.ListIndex + 1,2) = textbox2
.Range(Listbox1ListFillRange).Cells(Listbox1.ListIndex + 1, 3) = textbox3
End With
ThisWorkbook.RefreshAll
End Sub


leider wird nur die erste Spalte der Listbox überschrieben und nicht Spalte 2 und 3..

was mache ich falsch?

danke schon mal...

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listboxeintrag überschreiben
26.06.2023 15:07:08
onur
Und welche Zeile genau schreibt irgendwas in die Listbox (deiner Meinung nach) ?


AW: Listboxeintrag überschreiben
26.06.2023 15:56:27
Rene
Hallo Onur..

so klappt es, allerdings nur bei der ersten Spalte..

Private Sub listbox1_click()
With Tabelle1
.TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
End With
End Sub
Private Sub commandbutton1_click()
With Tabelle1
.Range(ListBox1.ListFillRange).Cells(ListBox1.ListIndex + 1, 1) = TextBox1.Text
End With
ThisWorkbook.RefreshAll
End Sub
wenn ich es erweitern will mit Textbox2 usw dann klappt es eben nicht....

hatte es wie gesagt mit

.Range(ListBox1.ListFillRange).Cells(ListBox1.ListIndex + 1, 2) = TextBox2.Text

versucht, aber da klappt nicht... deshalb habe ich ins Forum geschrieben!! :-)


Anzeige
AW: Listboxeintrag überschreiben
26.06.2023 17:09:58
onur
Wie kommst du jetzt auf einmal wieder auf CELLS? CELLS sind Zellen auf dem Blatt (so wie z.B. A1).
Du warst doch schon auf der richtigen Spur.
.TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
schreibt den Inhalt von ListBox1.List(ListBox1.ListIndex, 0) IN die Textbox und nicht umgekehrt.
Wenn schon, dann:
ListBox1.List(ListBox1.ListIndex, 0)=.Textbox1
für die ERSTE Spalte.
Und ListBox1.List(ListBox1.ListIndex, 1) für die Nächste.


AW: Listboxeintrag überschreiben
26.06.2023 17:36:41
Rene
sorry Onur,

verstehe es nicht


Anzeige
AW: Listboxeintrag überschreiben
26.06.2023 17:45:07
onur
Sorry, ich hab mich verlesen.
Aber, wie gesagt,
.TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
schreibt nur die ERSTE Spalte. Für ALLE Spalten:
Private Sub listbox1_click()
    With Tabelle1
         .TextBox1 = List(Listbox1.ListIndex, 0)
         .TextBox2 = List(Listbox1.ListIndex, 1)
         ......
         ......
    End With
End Sub


AW: Listboxeintrag überschreiben
26.06.2023 17:59:04
Rene
das Einlesen in die Textboxen klappt.

aber das Überschreiben nicht

Private Sub commandbutton1_click()

With Tabelle1
.Range(ListBox1.ListFillRange).Cells(ListBox1.ListIndex + 1, 1) = TextBox1
End With

für eine Spalte klappt es .. ( für Textbox 1)

wie kann ich es hinbekommen das es auch für die zweite Spalte (Textbox2 Inhalt) klappt?....

End Sub


Anzeige
AW: Listboxeintrag überschreiben
26.06.2023 18:21:01
onur
Poste mal die (Beispiels-) Datei.


AW: Listboxeintrag überschreiben
27.06.2023 04:29:45
Rene
vielen Dank Onur!!!!!


Gerne !
27.06.2023 14:28:29
onur


AW: Gerne !
28.06.2023 18:50:40
Rene
hallo nochmal...

es klappt wunderbar wenn die Dateien , die überschrieben werden sollen sich auf dem selben Tabellenblatt befinden.

sind die Daten, die überschrieben werden sollen jedoch auch einem anderen Tabellenblatt , klappt es leider nicht mehr..

wäre noch mal sehr dankbar für Hilfe.


Anzeige
AW: Listboxeintrag überschreiben
28.06.2023 18:52:29
Rene
hallo nochmal...

es klappt wunderbar wenn die Dateien , die überschrieben werden sollen sich auf dem selben Tabellenblatt befinden.

sind die Daten, die überschrieben werden sollen jedoch auch einem anderen Tabellenblatt , klappt es leider nicht mehr..

wäre noch mal sehr dankbar für Hilfe.


AW: Listboxeintrag überschreiben
28.06.2023 19:01:01
onur
Natürlich nicht! Davon war ja auch nie die Rede!


AW: Listboxeintrag überschreiben
28.06.2023 19:15:45
Rene
hi Onur :-)

nein davon war ja auch nicht die Rede.. wollte, oder will es ausprobieren..

das was du mir geschrieben hast, war perfekt! bin dir sehr dankbar.


AW: Listboxeintrag überschreiben
28.06.2023 19:24:12
onur
Eine Listbox, die mit ListFillRange gefüllt wird, kann nur ein einziges Blatt "bedienen". Wenn, dann musst du eine zweite dazunehmen oder sie anders befüllen.


Anzeige
AW: Listboxeintrag überschreiben
28.06.2023 19:26:39
Rene
das ist glaube ich noch zu "hoch" für mich :-(

obwohl ich es ja gerne hinbekommen würde :-)


AW: Listboxeintrag überschreiben
28.06.2023 19:46:59
Rene
@Onur

kannst du mir da ein Beispiel schreiben.. wäre sehr nett!! wenn es nicht zu viel Aufwand ist.


AW: Listboxeintrag überschreiben
29.06.2023 12:39:03
GerdL
Probiere

Private Sub commandbutton1_click()
    Dim rng
    ignore = True
    With ListBox1
        Set rng = Range(ListBox1.ListFillRange.Address(external:=True))
        Application.Goto rng
        rng.Cells(.ListIndex + 1, 2).Select
        rng.Cells(.ListIndex + 1, 1) = TextBox1
        rng.Cells(.ListIndex + 1, 2) = TextBox2
        rng.Cells(.ListIndex + 1, 3) = TextBox3
    End With
    ThisWorkbook.RefreshAll
    ignore = False
End Sub
Gruß Gerd


Anzeige
AW: Listboxeintrag überschreiben
29.06.2023 18:20:34
Rene
Hallo Gerd ,,erstmal danke dafür..

ich bekomme aber immer eine Fehlermeldung.

also auf Tabelle 2 sind die Daten die ich in die Listbox fülle... in der Tabelle 1 sind 3 Textboxen und die Listbox. wenn ich in die Listbox klicke, werden mir die Einträge in die Textboxen geladen. Wenn ich nun den Commandbutton drücke,nachdem ich den Text in den Textboxen geändert habe, soll der markierte Eintrag in Tabelle 2 überschrieben werden. wenn ich nur 1 Tabelle habe, klappt es dank Onur´s Hilfe super.

wenn ich diesen code eingebe:..

Option Explicit

Private bNoGui As Boolean

Private Sub commandbutton1_click()
    bNoGui = True
    With Tabelle2
        .Cells(ListBox1.ListIndex + 1, 1) = TextBox1
        .Cells(ListBox1.ListIndex + 1, 2) = TextBox2
        .Cells(ListBox1.ListIndex + 1, 3) = TextBox3
    End With
    ThisWorkbook.RefreshAll
    bNoGui = False
End Sub
Private Sub Listbox1_click()
   On Error Resume Next
    TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
    TextBox2 = ListBox1.List(ListBox1.ListIndex, 1)
    TextBox3 = ListBox1.List(ListBox1.ListIndex, 2)
End Sub
wird auch in der Tabelle2 die erste Zeile durch den Eintrag in der Textbox1 überschrieben, aber Zeile 2 und 3 nicht...das verstehe ich eben nicht.


Anzeige
AW: Listboxeintrag überschreiben
30.06.2023 04:54:03
Rene
wenn ich den Code über eine UF benutze funktioniert es, das die markierte Zeile der Listbox auf einem anderen Tabellenblatt überschrieben wird.

aber ich möchte keine UF haben...

Private Sub EINTRAG_SPEICHERN()
 Dim lZeile As Long
 Dim i As Integer
    If ListBox1.ListIndex = -1 Then Exit Sub
    lZeile = ListBox1.List(ListBox1.ListIndex, 0)
    For i = 1 To iCONST_ANZAHL_EINGABEFELDER
        Tabelle2.Cells(lZeile, i) = Me.Controls("TextBox" & i)
    Next i
    ListBox1.List(ListBox1.ListIndex, 1) = TextBox1
    ListBox1.List(ListBox1.ListIndex, 2) = TextBox2
    ListBox1.List(ListBox1.ListIndex, 3) = TextBox3
End Sub
das muss doch auch ohne UF funktionieren irgendwie? :-(

wäre für Hilfe oder Tipps dankbar... damit ich weiss was ich falsch mache..


Anzeige
AW: Listboxeintrag überschreiben
26.06.2023 18:48:18
Ulf
Hi
ich benutze einen benannten Bereich Daten:

Option Explicit
'Ohne wird die Box flattern
Private bNoGui As Boolean

Private Sub commandbutton1_click()
    bNoGui = True
    With ThisWorkbook.Names("Daten").RefersToRange
        .Cells(ListBox1.ListIndex + 1, 1) = TextBox1
        .Cells(ListBox1.ListIndex + 1, 2) = TextBox2
        .Cells(ListBox1.ListIndex + 1, 3) = TextBox3
    End With
    ThisWorkbook.RefreshAll
    bNoGui = False
End Sub

Private Sub listbox1_click()
    If bNoGui Then
        Exit Sub
    End If
    With Me.ListBox1
         Me.TextBox1.Value = .List(ListBox1.ListIndex, 0)
         Me.TextBox2.Value = .List(ListBox1.ListIndex, 1)
         Me.TextBox3.Value = .List(ListBox1.ListIndex, 2)
    End With
End Sub


Anzeige
AW: Listboxeintrag überschreiben
30.06.2023 15:31:26
Rene
Hallo Ulf..

konnte es jetzt endlich deinen Code ausprobieren... Es klappt hervorragend!!! Vielen lieben Dank!!! :-)

Vielen Dank auch an die anderen!!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige