Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Eine Zeile einer Listbox Aktualisieren !
#1
Hallo !

Ich Kämpfe gerade mit einem Problem, wobei ich Hilfe gebrauchen könnte.

In einer Listbox die auch Filtern kann, wird durch Doppelklick auf einen Datensatz
eine andere Listbox geöffnet.
in dieser Listbox wird der Selektierte Datensatz in Textboxen angezeigt, es kann geändert werden und per Button wird der geänderte Datensatz in die QuellTabelle übernommen.
Das FunktioniertSmile
Nun zu meinem Problem:
Da ich auch im gefilterten Zustand Doppelklicke, würde ich gerne den geänderten Datensatz
auch in der Listbox übernehmen.
Sprich nur den einen Selektierten Datensatz Aktualisieren.

Mein Gedanke: da ich mit Datensatz Selektieren dann Löschen einen Datensatz aus der
listbox ansprechen kann, müsste das ja mit Aktualisieren genau so funktionieren.
Und genau da liegt mein Problem !
Hab das Gerüst von Datensatz löschen genommen, und Gebastelt. leider ohne Erfolg
Eine BeispielDatei hänge ich an.
Währe Klasse wenn ihr mir da Helfen könntet.

LG Gerhard


Angehängte Dateien
.xlsm   Beispiel_001.xlsm (Größe: 71,12 KB / Downloads: 9)
Antwortento top
#2
Hallo Gerhard,


Zitat:In einer Listbox die auch Filtern kann, wird durch Doppelklick auf einen Datensatz

eine andere Listbox geöffnet.


was da geöffnet wird, ist keine andere ListBox, sondern ein zweites UserForm. Für diese Zwecke würde übrigens ein Userform völlig ausreichen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#3
Hi Klaus Dieter

Stimmt, hab mich verschrieben. Sorry
Antwortento top
#4
Hallo Gerhard,

OK, hatte schon befürchtet, du weißt es nicht besser. Das hätte die Kommunikation erschwert. Gleich noch eine Frage: warum programmierst du zwei UserForms für so ein paar Objekte? Das lässt sich doch prima auf einem UserForm unterbringen, was einiges vereinfachen würde.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#5
Hallo Klaus Dieter

wie du schon schreibst "Ich weiß es nicht besser"

Hab halt mit den mitteln die ich kenne, versucht etwas hinzubekommen.
was anscheinend doch etwas umständlich ist, aber hat mich trotzdem
riesig gefreut, das es Gröstenteils gut funktioniert.
Auf einer Userform, ja war auch erst mein erster Versuch. Ging garnicht,
darum die zweite Userform. wo es Funktioniert.

lg Gerhard
Antwortento top
#6
Hi Klaus Dieter,

Nachtrag:Hab mich da aber sehr Missverständlich Ausgedrückt.
Mit "ich weiss es nicht besser" Antworte ich auf deine Frage: warum ich
zwei Userforms benutze. Hatte es mit einer nicht hinbekommen.
Wollte es nur richtig stellen.
Ist es den möglich,mit den zwei Userformen so zu Programieren das mein
Wunschergebnis erreicht werden kann ?
oder sollte man wie du Schreibst, alles mit einer Userform machen ?

lg Gerhard
Antwortento top
#7
Hallo,

auf jedem Fall mit einem UserForm.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#8
Hi

ist doch ganz Ok was du bis jetzt hast.
Versuch es mal mit der Anpassung.
Code:
Private Sub cmdEintragTeilelisteAendern_Click()
'Schreibt die Veränderten Texte in die Tabelle("Teileliste")
    Dim inti As Integer
    With Sheets("Teileliste")
        For inti = 5 To .Range("A200").End(xlUp).Row
            If .Cells(inti, 1) = lblMaterialcode.Caption Then
               .Cells(inti, 2) = tbxTeileNummer.Text
               .Cells(inti, 3) = tbxBauteil.Text
               .Cells(inti, 4) = tbxSuchName.Text
            End If
        Next inti
    End With
    MsgBox "Daten/Änderung gespeichert!", vbInformation
   
    With frmTeileListe
      .lstDaten.Column(1, .lstDaten.ListIndex) = tbxTeileNummer
      .lstDaten.Column(2, .lstDaten.ListIndex) = tbxBauteil
      .lstDaten.Column(3, .lstDaten.ListIndex) = tbxSuchName
    End With
   
    Unload Me
End Sub
Gruß Elex
[-] Folgende(r) 1 Benutzer sagt Danke an Elex für diesen Beitrag:
  • Foregner
Antwortento top
#9
Hi Elex,

Genauso sieht mein Wunschergebnis aus, Herzlichen Dank.

LG Gerhard
Antwortento top
#10
Code:
Private Sub UserForm_Initialize()
    lstDaten.List = Sheets("Teileliste").Cells(5, 1).CurrentRegion.Value
End Sub

Reicht schon, (schau mal: https://www.snb-vba.eu/VBA_Fill_combobox...ox_en.html)
.columncount 4 sollte man als Eigenschaft im Design Modus speichern.

Und verzichte immer auf 'merged cells'.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste