Yan*_*ng 1 excel vba excel-vba
Calculator是excel文件中的一个选项卡.nnoise是由具有下拉列表的单元格分配的宏.下拉列表的选项是1,2,3,4和5.根据下拉列表的选择,我希望为另一个单元格分配一定的值.
它总是出现需要的对象.
Sub nnoise()
noiseval = Calculator.Range("E15")
With Calculator
If noiseval = 1 Then
.Range("F15") = 0
ElseIf noiseval = 2 Then
.Range("F15") = 30
ElseIf noiseval = 3 Then
.Range("F15") = 50
ElseIf noiseval = 4 Then
.Range("F15") = 70
ElseIf noiseval = 5 Then
.Range("F15") = 90
End If
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
小智 5
我怀疑这noiseval是以文字形式出现的.您的过程也可以从Select Case语句中获益,以替换If ... ElseIf ... End If.
Sub nnoise()
Dim noiseVal As Variant
With Worksheets("Calculator")
noiseVal = .Range("E15").Value2
Select Case noiseVal
Case 1, "1"
.Range("F15") = 0
Case 2, "2"
.Range("F15") = 30
Case 3, "3"
.Range("F15") = 50
Case 4, "4"
.Range("F15") = 70
Case 5, "5"
.Range("F15") = 90
Case Else
.Range("F15") = vbNullString
End Select
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
通过堆叠比较值,noiseVal针对字符串和整数值进行测试; 例如1不等于"1".
我不确定你的工作表参考; 我从你的叙述中假设计算器是工作表.Name属性.