Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA-Code ändern

VBA-Code ändern
22.05.2019 11:29:07
Thomas
Hallo zusammen,
kann mir jemand bei folgemdem Problem weiterhelfen.
https://www.herber.de/bbs/user/129948.xlsm
In der angehängten Datei befindet sich eine Userform.
Mittels eines Suchfeldes (Combobox) wird ein bestimmter Artikel aufgerufen und die entsprechenden Angaben (EK und VK) in das Textfeld geschrieben.
Mein Problem ist nun, der Code hinter dem "Speichern" Butten.
Denn dieser Code schreibt den Eintrag in eine neue Zeile. Es soll allerding so sein, dass die bestehnde, gefundene, Zeile überschrieben wird.
Bin für jede Hilfe dankbar.
Gruß
Thomas
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code ändern
22.05.2019 11:44:20
peterk
Hallo
Füge noch ein Textfeld (z.B. tbZeile) in dein UserForm ein (visible=False)
Schreib die gefunde Zeile in diese Feld (tbZeile = rngZelle.Row)
Beim speichern benutzt Du diesen Wert (I = tbZeile)
AW: VBA-Code ändern
22.05.2019 12:02:15
Werner
Hallo Thomas,
wieso denn überhaupt mit Find? Du füllst deine ComboBox über RowSource, dann kommst du doch ganz einfach über den Listindex des ausgewählten Eintrags an die Daten der Tabelle.
Beim Speichern/Ändern dann das gleiche Spiel.
Private Sub cbsuche_Change()
With Worksheets("Sortiment")
Me.tbprodukt = .Cells(Me.cbsuche.ListIndex + 6, 3)
Me.tbek = .Cells(Me.cbsuche.ListIndex + 6, 4)
Me.tbvk = .Cells(Me.cbsuche.ListIndex + 6, 5)
End With
End Sub
Private Sub Speichern_Click()
With Worksheets("Sortiment")
.Cells(Me.cbsuche.ListIndex + 6, 3) = Me.tbprodukt
.Cells(Me.cbsuche.ListIndex + 6, 4) = CDbl(Me.tbek)
.Cells(Me.cbsuche.ListIndex + 6, 5) = CDbl(Me.tbvk)
End With
End Sub
Gruß Werner
Anzeige
wenn du damit....
22.05.2019 12:34:16
Werner
Hallo Thomas,
...dann auch noch neue Einträge anlegen willst, dann so:
Private Sub Speichern_Click()
Dim loLetzte As Long
With Worksheets("Sortiment")
If Me.cbsuche.ListIndex > -1 Then
.Cells(Me.cbsuche.ListIndex + 6, 3) = Me.tbprodukt
.Cells(Me.cbsuche.ListIndex + 6, 4) = CDbl(Me.tbek)
.Cells(Me.cbsuche.ListIndex + 6, 5) = CDbl(Me.tbvk)
Else
loLetzte = .Cells(.Rows.Count, 3).End(xlUp).Offset(1).Row
.Cells(loLetzte, 2) = CLng(Me.cbsuche)
.Cells(loLetzte, 3) = Me.tbprodukt
.Cells(loLetzte, 4) = CDbl(Me.tbek)
.Cells(loLetzte, 5) = CDbl(Me.tbvk)
Call UserForm_Initialize
End If
End With
End Sub
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige