Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1800to1804
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 Wert zurückschreiben

VBA Wert zurückschreiben
04.01.2021 19:01:32
Lehmann
https://www.herber.de/bbs/user/142754.xlsm
Hi,
vielen Dank erst einmal hier an alle die mir bis jetzt immer geholfen haben.
folgendes der errechnete Wert aus der TextBox1 kann ich in meine Auswahl aus der ListBox2 in die richtige Zelle zurückschreiben. Das selbe möchte ich bei der ListBox1 mit der Textbox3 machen doch da kommt dann Folgende meldung:
Laufzeitfehler ´91´:
Objektvariable oder With-Blockvariable nicht festgelegt.
Hoffe es ist so halbwegs verständlich
Vielen Dank schon einmal
Private Sub CommandButton1_Click()
ListBox1.BoundColumn = 3
If Not IsNumeric(ListBox1) Or Not IsNumeric(TextBox2) Then Exit Sub
TextBox1 = CDbl(ListBox1.Value) * CDbl(TextBox2.Value)
ListBox1.BoundColumn = 2
TextBox3 = CDbl(ListBox1.Value) - CDbl(TextBox2.Value)
ListBox2.BoundColumn = 3
TextBox1 = CDbl(ListBox2.Value) + CDbl(TextBox1.Value)
End Sub

Private Sub CommandButton2_Click()
Worksheets("Lieferanten").Activate
Set Rng = Worksheets("Lieferanten").Range("A:A").Find(Me.ListBox2.Text)
Rng.Offset(0, 2) = Me.TextBox1.Value
Worksheets("Werkzeuge").Activate
Set Rng = Worksheets("Werkzeuge").Range("A:A").Find(Me.ListBox1.Value)
Rng.Offset(0, 1) = Me.TextBox3.Value
MsgBox "Fräser wurden Entnommen"
ComboBox1 = ""
ComboBox2 = ""
ComboBox3 = ""
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub CommandButton4_Click()
ListBox2 = ""
ListBox1 = ""
TextBox2 = ""
TextBox1 = ""
TextBox3 = ""
TextBox5 = ""
TextBox4 = ""
End Sub
Private Sub CommandButton5_Click()
ListBox1.BoundColumn = 2
If Not IsNumeric(ListBox1) Or Not IsNumeric(TextBox4) Then Exit Sub
TextBox5 = CDbl(ListBox1.Value) + CDbl(TextBox4.Value)
End Sub

Private Sub CommandButton6_Click()
Worksheets("Werkzeuge").Activate
Set Rng = Worksheets("Werkzeuge").Range("A:A").Find(Me.ListBox1.Value)
Rng.Offset(0, 1) = Me.TextBox5.Value
MsgBox "Fräser wurden Eingelagert"
TextBox5 = ""
TextBox4 = ""
End Sub

Private Sub Label1_Click()
End Sub

Private Sub ListBox1_Click()
End Sub

Private Sub ListBox2_Click()
End Sub

Private Sub TextBox1_Change()
End Sub

Private Sub TextBox2_Change()
End Sub

Private Sub TextBox3_Change()
End Sub

Private Sub UserForm_Activate()
Dim iRow As Integer
iRow = Sheets("Lieferanten").Cells(Rows.Count, 3).End(xlUp).Row
UserForm1.ListBox2.RowSource = "Lieferanten!A1:C" & iRow
iRow = Sheets("Werkzeuge").Cells(Rows.Count, 3).End(xlUp).Row
UserForm1.ListBox1.RowSource = "Werkzeuge!A1:C" & iRow
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Wert zurückschreiben
04.01.2021 19:10:02
onur
"doch da kommt dann Folgende meldung: Laufzeitfehler ´91´:" - WO ist DA ?
AW: VBA Wert zurückschreiben
04.01.2021 19:20:01
ralf_b
Hallo,
ich denke es liegt daran das deine Rng variable den Wert nothing hat. Nach dem Find sollte die rng auf nothing geprüft werden.
if not rng is nothing then
'mache dein eintragung
else
msgbox "Wert nicht gefunden"
end if
AW: VBA Wert zurückschreiben
05.01.2021 08:24:50
Mario
Hi,
also das Problem mit der Fehlermeldung habe ich nun nicht mehr. Allerdings folgendes in der listbox2 wähle ich meinen Lieferanten aus und in der ListBox1 mein benötigtes Werkzeug jetzt wird der Wert aus der textbox1 auch in die zuvor ausgewählte Zelle mit Drücken des ComandButton2 überschrieben, nur der Wert aus der textbox3 wird nicht in die Zelle zurückgeschrieben wo ich zuvor in der ListBox1 ausgewählt habe sondern immer zwar in die richtige Spalte aber nicht in die richtige Zeile.
Vielleicht hat hierzu noch jemand eine Lösung oder Idee für mich
Mfg
Mario
Anzeige
AW: VBA Wert zurückschreiben
05.01.2021 12:46:53
ralf_b
Hallo, Mario oder Lehmann oder beides.
der ausgewählte Wert aus der Listbox/Combobox wird meist so ermittelt
Listbox1.List(Listbox1.ListIndex)

Set Rng = Worksheets("Werkzeuge").Range("A:A").Find(Me.ListBox1.Value)
probier mal dies oder die List(ListIndex) variante
Set Rng = Worksheets("Werkzeuge").Range("A:A").Find(Me.ListBox1.text)
gruß
rb
AW: VBA Wert zurückschreiben
05.01.2021 14:55:42
Mario
Hi,
Also geht beides Lehmann oder Mario :D
Vielen Dank für die Antwort hab es jetzt so wie ich es wollte.
Vielen Dank
Gruß
Mario

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige