我需要在第二个工作簿上找到一个特定的单元格并返回其值。 我的范围始终在变化,但是我可以滤除不良值。 我需要从一个工作簿复制(MCN#)到另一个工作簿的单元格正在更改其格式。
有时它是单行,有时会合并到7行左右。我能正常工作的代码是:
=HLOOKUP("MCN #",[CuPe1810_CH520.xlsx]CuPe1820_CH520!$A$1:$S$16,2,FALSE)
我要从链接的工作簿中查找“ MCN#”,并在主工作簿上返回分配给它的行值(B3)。
我需要从用户输入值更改[CuPe1810_CH520.xlsx],并且需要将制表符或范围(CuPe1820_CH520!$ A $ 1:$ S $ 16)更改为相同的名称,然后减去.xlsx,在我的示例中,CuPe1820_CH520将代表选项卡名称和.xlsx名称。我需要帮助,以便可以根据用户输入进行操作,可以通过公式或宏完成操作,我不在乎。
答案 0 :(得分:0)
您可以执行以下操作。
在下面的示例中,F1
(或短代码为$F$1
)是您正在编辑以更新公式的单元格。
A1
是我们正在更新的单元格公式。
如果有多个单元需要更新,则可以在For Each
循环中循环,也可以使用Range("SomeRange").AutoFill Destination:=Range("SomeDestination")
函数。
Application.ActiveWorkbook.Path
可能需要根据您的情况进行更新-指向文件的路径。
这进入工作表对象(Worksheet_Change
事件)。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" Then
'Range to update formula goes here
Range("A1").Formula = "='" & Application.ActiveWorkbook.Path & "\[" & [F1] & ".xlsx]" & [F1] & "'!A1"
End If
End Sub
在上面的示例中,您无需在输入字符串中放入.xlsx
。