我正在尝试根据酒店名称滚动列表自动编辑Excel工作表的链接。
到目前为止,我已经设法创建了一个自动路径(见附图),但是一旦单元格(“A1”)(滚动列表)被修改,我就无法更新链接
这就是我对宏的想法:
见下面的草稿:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range(A1)
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Run Macro_2
End If
End Sub
Sub Macro_2()
Range("F2").Copy
Range("F1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ChDir Dir(Range("F2").Value)
ActiveWorkbook.ChangeLink Name:=Dir(Range("F1").Value) _
, NewName:=Dir(Range("F2").Value) _
, Type:=xlExcelLinks
End Sub
错误:找不到路径
提前感谢您的帮助!
答案 0 :(得分:0)
F1和F2中的值不是路径。路径必须在文件名之前结束,当然不能包含该文件中的工作表和该工作表中的单元格地址。
答案 1 :(得分:0)
这是您重写的代码(删除了不必要的代码)
请阅读代码中的评论
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
Range("F2").Copy
Range("F1").PasteSpecial _
Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
' this value is in F1 and in F2 ( it is NOT a valid filename )
' C:\Users\h5307-rm\Desktop\Casablanca\hotels\Casablanca\Ibis El Jadida\Budget\[Budget.xlsx]Sheet1'$A$1
' F2 contains an invalid path name ... ChDir command will fail
ChDir Dir(Range("F2").Value)
' F1 and F2 contain invalid path names, this command will fail
ActiveWorkbook.ChangeLink _
Name:=Dir(Range("F1").Value), _
NewName:=Dir(Range("F2").Value), _
Type:=xlExcelLinks
End Sub