Suche in Object erforderlich
Hallo zusammen. Ich habe eine Datei, in der ich mittels UserForm etc. Daten verändern will. Ich kann ich die Werte hierüber nicht verändern, weil der Code in einem Fehlerhinweis endet. Ich hänge mal den VBA-Code an, in der Hoffnung jemand kann mir diesbezüglich weiter helfen. Dies ist die Spalte, die mir als Fehler angezeigt wird: Fehlertext Laufzeitfehler 424, Object erforderlich. Schön wäre es, wenn jemand einen entsprechenden Codeabschnitt hier einstellen könnte. Danke und Gruß
Hier die Spalte die gelb markiert wird:
Hier mein Codetext:
Hier die Spalte die gelb markiert wird:
If rngRow.Cells(, colAtBetriebskosten).Value <> txtBetriebskosten.Text Then
Hier mein Codetext:
Private Sub cmdSave_Click()
Dim txtBetriebskosten As Object
Dim txtEPreis As Variant
Dim txtVerbrauchswert As Variant
Dim txtMieteranteil As Variant
Dim ausuf As Boolean
Dim mvntWert As Variant
Dim Lzeile As Long
Dim rngRow As Range
Dim LRow As Integer ' Hier versuche ich die Tabelle anzusprechen
ausuf = True
If seekArb(txtPosNr, rngRow) Then
ThisWorkbook.RefreshAl
'Hier die Tabelle konkret angesprochen
LRow = Worksheets("Tabelle4").Cells(Rows.Count, 2).End(xlUp).Row
If rngRow.Cells(, colAtPosNr).Value <> CLng(Trim(CStr(txtPosNr.Text))) Then mvntWert = rngRow.Cells(, colAtPosNr).Value: rngRow.Cells(, colAtPosNr).Value = Trim(CStr(txtPosNr.Text))
If rngRow.Cells(, colAtPosNr).Value <> CLng(Trim(CStr(txtPosNr.Text))) Then mvntWert = rngRow.Cells(, colAtPosNr).Value: rngRow.Cells(, colAtPosNr).Value = Trim(CStr(txtPosNr.Text))
If rngRow.Cells(, colAtBetriebskosten).Value <> txtBetriebskosten.Text Then mvntWert = rngRow.Cells(, colAtBetriebskosten).Value: rngRow.Cells(, colAtBetriebskosten).Value = txtBetriebskosten.Text
If rngRow.Cells(, colAtEPreis).Value <> txtEPreis.Text Then mvntWert = rngRow.Cells(, colAtEPreis).Value: rngRow.Cells(, colAtEPreis).Value = txtEPreis.Text
If rngRow.Cells(, colAtVerbrauchswert).Value <> txtVerbrauchswert.Text Then mvntWert = rngRow.Cells(, colAtVerbrauchswert).Value: rngRow.Cells(, colAtVerbrauchswert).Value = txtVerbrauchswert.Text
If rngRow.Cells(, colAtMieteranteil).Value <> txtMieteranteil.Text Then mvntWert = rngRow.Cells(, colAtMieteranteil).Value: rngRow.Cells(, colAtMieteranteil).Value = txtMieteranteil.Text
ausuf = False
Lzeile = Me.lstData.ListIndex
Call UserForm_Initialize
Me.lstData.ListIndex = Lzeile
Else
MsgBox "Nummer " & txtPosNr.Text & " nicht gefunden", vbExclamation + vbOKOnly
End If
Call cmdNew_Click
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 8559270778
Url: https://administrator.de/contentid/8559270778
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
5 Kommentare
Neuester Kommentar
Zitat von @mark47:
Hier die Spalte die gelb markiert wird:
Ist das wirklich so schwer, den Fehler / die Unvollständigkeit Deines Codes in so einer einfachen Zeile zu entdecken?Hier die Spalte die gelb markiert wird:
If rngRow.Cells(, colAtBetriebskosten).Value <> txtBetriebskosten.Text Then
Im Übrigen solltest Du Dir noch einmal durch den Kopf gehen lassen, aus welchen Elementen ein IF-Konstrukt besteht, und ob alle diese Elemente für alle verwendeten IF-Konstrukte vorhanden sind.
Viele Grüße
HansDampf06
Zitat von @insidERR:
Guck dir mal das hier geneuer an:
"Dim txtBetriebskosten As Object" und mach nen String draus
Guck dir mal das hier geneuer an:
"Dim txtBetriebskosten As Object" und mach nen String draus
Das ist bei seinem mitgeteilten Code unzutreffend, zumal txBetriebskosten ja den Member Text haben soll. Stattdessen muss er nach der Definition einer Objektvariablen diese auch Instanzieren. Das erfolgt über eine Set-Anweisung zusammen mit New. Ganz abgesehen davon wissen wir gar nicht, in welchem Zusammenhang der mitgeteilte Code steht, so dass er auch nicht wirklich beurteilt werden kann.
Das Problem seines Codes ist das, was er selber von sich einschätzt: minimale Kenntnisse in VBA. Hier muss er schon ein Stück weit selbst aktiv werden und sich in VBA vertiefen. Immerhin hat VBA eine brauchbare Hilfefunktion. Dann würde er sich beispielsweise erarbeiten können, warum .Cells als nächstes von einer Fehlermeldung betroffen sein wird.
Viele Grüße
HansDampf06
Serie: VBA Code mit Fehlerhinweis
Suche in Object erforderlich5