2016-07-07 13 views
0

Als Neuling (gehen Sie einfach auf mich :-), bekomme ich einen Typenkonflikt, wenn ich Informationen von einer Funktion übergebe.VBA Typenkonflikt beim Übergeben von Formularobjekten

' Generate Data Sub Function 
Sub Send_listbox_list_to_function() 

' Function to Create and populate the class 
' -> Require's the listbox and the directory location 

If Right(frmMain.txtDIR, 1) = "\" Then 
    Call Create_Class(frmMain.lstDIR, frmMain.txtDIR.Value) 
Else 
    Call Create_Class(frmMain.lstDIR, frmMain.txtDIR.Value + "\") 
End If 

End Sub 

Dies ist die Funktion, die ich versuche, Informationen durchzugeben.

Sub Create_Class(ByRef lstbox As ListBox, ByVal loc As String) 

' Generic Checksheet 
Dim checksheet As cls_DR 

End Sub 

Ist dies in VBA möglich? Ich bin besorgt, es ist ein Timing-Fehler bei der Verwendung von Formularen. Das kann ich nicht verstehen. Hilfe?

Antwort

2

Ihr Parameter ist als die falsche Art von Listbox deklariert (es gibt auch einen in der Excel-Bibliothek). Sie müssen dies verwenden:

Sub Create_Class(ByRef lstbox As MSForms.ListBox, ByVal loc As String) 
+0

Danke, das macht Sinn ... – CromeX