我正在尝试设计一个函数,它接受Application.Caller.Column值并使用它来查找不同工作表上的范围。
该功能旨在从下拉框中获取值。该值将确定数组的行,并使用Case语句来执行此操作。我遇到的问题是,如果函数在B列中,我希望函数从另一个工作表中返回B列值,依此类推。
当我使用它时,我一直得到#Value返回,而智能标记告诉我“公式中的值是错误的数据类型”。任何帮助都非常感谢!
代码
Function NetPay(Scenario As Range)
Dim CC As String
CC = Application.Caller.Column
Select Case Scenario
Case 1: NetPay = Sheets("Scenarios").Cells(4, CC)
Case 2: NetPay = Sheets("Scenarios").Cells(7, CC)
Case 3: NetPay = Sheets("Scenarios").Cells(10, CC)
Case 4: NetPay = Sheets("Scenarios").Cells(13, CC)
Case 5: NetPay = Sheets("Scenarios").Cells(16, CC)
Case 6: NetPay = Sheets("Scenarios").Cells(19, CC)
Case 7: NetPay = Sheets("Scenarios").Cells(22, CC)
End Select
End Function
答案 0 :(得分:0)
您将CC
定义为String
。
将定义更改为Long
。
此外,当您应该查看Select Case
.value
正在考虑范围