利用VBA程序,如何在不打开另一工作表的情况下,引用另一工作表中的批注内容?
两张工作表A和B,分别在同一目录下的不同文件夹内。找开工作表A,在不打工作表B的情况下,将工作表B的工作薄sheet1!A1中的批注,自动引用到工作表A的工作薄sheet...
两张工作表A和B,分别在同一目录下的不同文件夹内。找开工作表A,在不打工作表B的情况下,将工作表B的工作薄sheet1!A1中的批注,自动引用到工作表A的工作薄sheet1!A1中。而且在移动文件时,比如复制到另一台电脑中,仍然可以使用代码。请高手指点!
首先感谢这位朋友。
但是没有解决我的问题。我是要引用单元格中的批注内容。
而且文件在同一个文件夹的不同子目录中。
如果将该文件夹都复制到其它盘中,代码就要有变化,我是指能自动适应。就像单元格中数据引用一样,它自动会转化的。谢谢高手指点。 展开
首先感谢这位朋友。
但是没有解决我的问题。我是要引用单元格中的批注内容。
而且文件在同一个文件夹的不同子目录中。
如果将该文件夹都复制到其它盘中,代码就要有变化,我是指能自动适应。就像单元格中数据引用一样,它自动会转化的。谢谢高手指点。 展开
2个回答
展开全部
假设两文件夹分别1和2,
可以在A表中写如下宏:
sub 批注引用()
dim strS as string
workbooks.Open Filename:=ThisWorkbook.Path & "/..\2\B.xls", ReadOnly:=True
strS = workbooks("B.xls").Sheets("Sheet1").Range("A1").Comment.Text
workbooks("B.xls").Close
Range("A1") = strS
End sub
以上代码只是实现你说的功能,可以根据你的语句进行扩展,但前提需要在B表中A1需要有批注,否则将报错,你可以加一个判断语句。
可以在A表中写如下宏:
sub 批注引用()
dim strS as string
workbooks.Open Filename:=ThisWorkbook.Path & "/..\2\B.xls", ReadOnly:=True
strS = workbooks("B.xls").Sheets("Sheet1").Range("A1").Comment.Text
workbooks("B.xls").Close
Range("A1") = strS
End sub
以上代码只是实现你说的功能,可以根据你的语句进行扩展,但前提需要在B表中A1需要有批注,否则将报错,你可以加一个判断语句。
2011-01-04 · 知道合伙人软件行家
关注
展开全部
提供两种思路,任选一
'使用函数直接取数法
Sub zldccmx()
p = "d:\test\新建文件夹\" '路径
f = "数据.xls" '文件名
s = "数据" '工作表名
Application.ScreenUpdating = False
For r = 1 To 9
For c = 1 To 4
If c <> 3 And c <> 4 Then
a = Cells(r, c).Address
arg = "'" & p & "[" & f & "]" & s & "'!" & Range(a).Range("A1").Address(, , xlR1C1)
Cells(r, c) = ExecuteExcel4Macro(arg)
Else
If c = 4 Then
a = Cells(r, c).Address
arg = "'" & p & "[" & f & "]" & s & "'!" & Range(a).Range("A1").Address(, , xlR1C1)
Cells(r, 3) = ExecuteExcel4Macro(arg)
End If
End If
Next c
Next r
Application.ScreenUpdating = True
End Sub
'本办法直接使用数据链接
Sub zldccmx1()
For i = 1 To 9
For j = 1 To 4
If j <> 3 And j <> 4 Then
Cells(i, j) = "='" & "d:\test\新建文件夹\[数据.xls]数据'!" & Cells(i, j).Address(0, 0)
Else
If j = 4 Then
Cells(i, 3) = "='" & "d:\test\新建文件夹\[数据.xls]数据'!" & Cells(i, j).Address(0, 0)
End If
End If
Next
Next
End Sub
'使用函数直接取数法
Sub zldccmx()
p = "d:\test\新建文件夹\" '路径
f = "数据.xls" '文件名
s = "数据" '工作表名
Application.ScreenUpdating = False
For r = 1 To 9
For c = 1 To 4
If c <> 3 And c <> 4 Then
a = Cells(r, c).Address
arg = "'" & p & "[" & f & "]" & s & "'!" & Range(a).Range("A1").Address(, , xlR1C1)
Cells(r, c) = ExecuteExcel4Macro(arg)
Else
If c = 4 Then
a = Cells(r, c).Address
arg = "'" & p & "[" & f & "]" & s & "'!" & Range(a).Range("A1").Address(, , xlR1C1)
Cells(r, 3) = ExecuteExcel4Macro(arg)
End If
End If
Next c
Next r
Application.ScreenUpdating = True
End Sub
'本办法直接使用数据链接
Sub zldccmx1()
For i = 1 To 9
For j = 1 To 4
If j <> 3 And j <> 4 Then
Cells(i, j) = "='" & "d:\test\新建文件夹\[数据.xls]数据'!" & Cells(i, j).Address(0, 0)
Else
If j = 4 Then
Cells(i, 3) = "='" & "d:\test\新建文件夹\[数据.xls]数据'!" & Cells(i, j).Address(0, 0)
End If
End If
Next
Next
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询