我正在学习VBA。两件事:
示例代码:
public function show($zip, $street)
{
$flyer = Flyer::loacatedAt($zip, $street)->first();
return view('flyers.show', compact('flyer'));
}
答案 0 :(得分:0)
Function Min(ParamArray values() As Variant)
Dim minValue, Value As Variant
minVal = values(0)
For Each Value In values
If minVal > Value Then minVal = Value
Next
Min = minVal
End Function
您可以使用此代码查找最小值。
Private Sub NBInv_Change()
If NBInv.Text = "0" Or NBInv.Text = "" Then
ActiveSheet.Shapes("NFlow").Visible = False
ElseIf Val(NBInv.Value) = Min(Val(txt1.value),Val(txt2.value),Val(txt3.value),Val(txt4.value)) Then
ActiveSheet.Shapes("NFlow").Visible = True
ActiveSheet.Shapes("FlowNFalse").Visible = False
End If
End Sub
答案 1 :(得分:0)
您可以简化代码中的Visible属性设置。 Val(NBInv.Value)将为所有非数字值和数字0返回0.CBool()将0转换为False,将所有其他值转换为True。
Private Sub Solution()
Dim HasValue As Boolean
HasValue = CBool(Val(NBInv.Value))
ActiveSheet.Shapes("NFlow").Visible = HasValue
ActiveSheet.Shapes("FlowNFalse").Visible = Not HasValue
End Sub
以下函数将返回列出的所有控件中值最小的函数。
私人功能最小()
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 = 10 ^ 6 For i = 0 To UBound(Inv) Tmp = Val(ActiveSheet.OLEObjects(Inv(i)).Object.Value) If Tmp < Fun Then Fun = Tmp Next i Smallest = Fun
结束功能
变量Fun必须设置为一个大于您在文本框中遇到的值的值。我选择了10 ^ 6。
答案 2 :(得分:0)
我将以下代码放在相关的工作表代码窗格中:
NewPage