2016-12-07 8 views
0

Ich habe das Internet durchforstet, aber ich kann nicht scheinen, eine Antwort auf meine Frage zu finden, nach den Antworten, die ich gesehen habe, sollte ich kein Problem haben.Excel VBA Fehler 424 Aufruf Sub

Eine Menge Code ist schlampig, da es eine Kopie Pasta von etwas ist, das früher funktioniert hat. Absicht war, nach dem Funktionieren aufzuräumen.

Ich übergebe 7 Strings zu einem Sub aus meinem Benutzerformular, aber ich bekomme immer den 424 Fehler.

Von der Userform:

Sub CommandButton1_Click() 

Dim Bericht As Variant 

Dim RuilingOfVermissing As String 
Dim Benaming As String 
Dim NSN As String 
Dim Aantal As String 
Dim Bijzonderheden As String 
Dim DatumIn As String 
Dim Naam As String 


'Check verplichte velden 
If OptionButton1.Value = False And OptionButton2.Value = False Then 
    Bericht = MsgBox("Selecteer Ruiling of Vermissing", vbOKOnly) 
    GoTo ErrorExit 
ElseIf OptionButton1.Value = True And OptionButton2.Value = True Then 
    Bericht = MsgBox("Selecteer Ruiling OF Vermissing, niet allebei", vbOKOnly) 
    GoTo ErrorExit 
ElseIf OptionButton1.Value = True Then 
    RuilingOfVermissing = "Ruiling" 
ElseIf OptionButton2.Value = True Then 
    RuilingOfVermissing = "Vermissing" 
End If 


If Len(TextBox2 & vbNullString) = 0 Then 
    Bericht = MsgBox("Vul een benaming in", vbOKOnly) 
    GoTo ErrorExit 
ElseIf Len(TextBox3 & vbNullString) = 0 Then 
    Bericht = MsgBox("Vul een NSN in", vbOKOnly) 
    GoTo ErrorExit 
ElseIf Len(TextBox4 & vbNullString) = 0 Then 
    Bericht = MsgBox("Vul een aantal in", vbOKOnly) 
    GoTo ErrorExit 
ElseIf Len(TextBox5 & vbNullString) = 0 Then 
    Bericht = MsgBox("Vul een 'datum in' in", vbOKOnly) 
    GoTo ErrorExit 
ElseIf Len(TextBox9 & vbNullString) = 0 Then 
    Bericht = MsgBox("Vul je naam in", vbOKOnly) 
    GoTo ErrorExit 
End If 

'Niet verplicht veld ("bijzonderheden") aanpassen naar spatie om Null te voorkomen 
If Len(TextBox7 & vbNullString) = 0 Then 
    TextBox7.Text = "-" 
End If 

Benaming = TextBox2.Text 
NSN = TextBox3.Text 
Aantal = TextBox4.Text 
Bijzonderheden = TextBox7.Text 
DatumIn = TextBox5.Text 
Naam = TextBox9.Text 

RuilVernis.schrijven RuilingOfVermissing, Benaming, NSN, Aantal, Bijzonderheden, DatumIn, Naam 

ErrorExit: 
    Exit Sub 

End Sub 

Aus dem genannten Sub:

Sub schrijven(Optional RuilingOfVermissing As String, _ 
Optional Benaming As String, _ 
Optional NSN As String, _ 
Optional Aantal As String, _ 
Optional Bijzonderheden As String, _ 
Optional DatumIn As String, _ 
Optional Naam As String) 

Dim Nextrow As Variant 

Sheets("Database").Select 

Nextrow = Sheets("Database").Range("A65536").End(xlUp).Row + 1 

Sheets("Database").Range("A" & Nextrow) = Nextrow.Text 
Sheets("Database").Range("B" & Nextrow) = RuilingOfVermissing 
Sheets("Database").Range("C" & Nextrow) = Benaming 
Sheets("Database").Range("D" & Nextrow) = NSN 
Sheets("Database").Range("E" & Nextrow) = Aantal 
Sheets("Database").Range("F" & Nextrow) = Bijzonderheden 
Sheets("Database").Range("G" & Nextrow) = DatumIn 
Sheets("Database").Range("I" & Nextrow) = Naam 

Sheets("Start").Select 

Unload UserForm1 
UserForm1.Show 

Save 

End Sub 

Wenn ich die 424 Punkte laufen auf:

RuilVernis.schrijven RuilingOfVermissing, Benaming, NSN, Aantal, Bijzonderheden, DatumIn, Naam' 

Was mache ich falsch?

Vielen Dank im Voraus.

+3

Ich würde Schreiten durch den Code vorschlagen, bis Sie sicher sind, das ist die genaue Linie versagt es und dann bei den Einheimischen (Variablen) Fenster schauen, um herauszufinden, was –

Antwort

4

Hier erklären Sie Nextrow als vriant

Dim Nextrow As Variant 

Sie ordnen Nextrow ein numerischer Wert. Nextrow ist jetzt effektiv eine Nummer.

Nextrow = Sheets("Database").Range("A65536").End(xlUp).Row + 1 

Da numerische Werte haben keine Text Eigenschaft, die 424 Fehler ausgelöst.

Sheets("Database").Range("A" & Nextrow) = Nextrow.Text 
+0

Guter Fang nicht definiert ist, denke ich, dass es. Fehler wird von der Benutzerform beim Funktionsaufruf auf "schrijven" ausgelöst, aber der Fehler tritt tatsächlich innerhalb dieser Funktion auf, aus Gründen, die Sie angeben. –

+0

@DavidZemens danke für die Bearbeitung! –

+0

Ich habe versucht, die Zeile mit 'nextrow.text' auszukommentieren und alle Erwähnungen meiner vorherigen Problemumgehung (mit einem 'nextrow'-Duplikat) auskommentiert, ohne Erfolg. Kann ich sonst noch sehen, ob das das Problem ist? – Joren

Verwandte Themen