我在VBA 中有一个函数
Function VLOOKUPnew(ValueToLook As Range, Interval As Range, ColIndex As Integer) As Variant
它接受$A$1:$D$500,但不接受Name_of_theet$A$1:$D$500
我该如何解决?
EDIT:这与这个问题有关,复制/粘贴VBA内部函数中的特殊单元格格式,不起的作用
问题出在函数内部的代码。你需要改变这个:
fMatch = Application.Match(ValueToLook, Range(Interval.Address()).Columns(1), 0)
' Obtem o endereço da célula que contem o valor do VLOOKUP
' **********************************************
CellOrigin = Interval.Cells(fMatch, Interval.Columns.Count).Address()
进入这个:
fMatch = Application.Match(ValueToLook, Interval.Worksheet.Range(Interval.Address()).Columns(1), 0)
' Obtem o endereço da célula que contem o valor do VLOOKUP
' **********************************************
CellOrigin = "'" & Interval.Worksheet.Name & "'" & Interval.Cells(fMatch, Interval.Columns.Count).Address()
否则,它将搜索错误的工作表,并从错误的单元格中复制格式。