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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige