2017-05-07 4 views
1

Mein Code unten funktioniert in Excel VBA, aber ich bin auf VB Benutzerformular ändern. Das Problem ist, ich kann OLEObjects nicht mehr verwenden, gibt es eine Abhilfe in VB, damit dies in einem Benutzerformular für mich funktioniert? oder muss ich dies in eine lange if-Anweisung einfügen. Danke im Voraus.OLEObjects in Visual Basic

Dim Fun As Variant 
Dim Tmp As Variant 
Dim Inv() As String 
Dim i As Integer 

Inv = Split("NBInv NEBInv EBInv SEBInv SBInv SWBInv WBInv NWBInv") 
Fun = 0 

For i = 0 To UBound(Inv) 
    Tmp = Val(MainForm.OLEObjects(Inv(i)).Object.Value) 
    If Tmp <> 0 And Tmp <> "" And Tmp > Fun Then Fun = Tmp 
Next i 

Smallest = Fun 
MsgBox Smallest 

Antwort

1

Unter der Annahme, dass diese Steuer Namen auf Ihrer Userform sind:

Dim Fun As Variant 
Dim Tmp As Variant 
Dim Inv() As String 
Dim i As Integer 

Inv = Split("NBInv NEBInv EBInv SEBInv SBInv SWBInv WBInv NWBInv") 
Fun = 0 

For i = 0 To UBound(Inv) 
    Tmp = Val(Me.Controls(Inv(i)).Value) 
    If Tmp <> 0 And Tmp <> "" And Tmp > Fun Then Fun = Tmp 
Next i 

Smallest = Fun 
MsgBox Smallest 
+0

Sie so vielen Dank! funktioniert perfekt. –