请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!
1个回答
展开全部
还没有人帮忙吗?那我就来试试吧。
不知道楼主想要怎么样的结果,我这里就纯粹以自己的臆想来做啊
在这里,我假设有两个excel文件是在同一个文件夹里的,一个为1.xlsx,另一个为2.xlsx
(这里有必要说明一下,我用的是excel2007版的)
那么假设1.xlsx里的sheet1中的A1和C2单元格是我们所要赋值的源单元格,我们想要将它们分别赋值给2.xlsx中的B1,B2单元格,那么可以在1.xlsx用vba代码,具体做法如下:
(1)将1.xlsx打开,然后同时按下Alt+F11,打开visual basic 编辑器
(2)选择菜单上的“插入”下的“模块”,出现一个空白窗口后,粘贴以下代码:
Sub test()Dim r1 As Range
Dim r2 As Range
Dim w As Workbook
ThisWorkbook.Activate
Set r1 = ThisWorkbook.Sheets(1).[a1]
Set r2 = ThisWorkbook.Sheets(1).[c2]
Set w = Workbooks.Open(ThisWorkbook.Path & "\2.xlsx")w.Sheets(1).[b1] = r1
w.Sheets(1).[b2] = r2
SendKeys "~"
w.Save
w.Close
End Sub
(3)回到excel窗口,按下Alt+F8,选中“test”,然后点执行就可以了。
以下是补充说明的几点:
(1)这只是一个例子,可能与楼主的要求符
(2)我用的是excel2007版的,代码可能有些不兼容
(3)在运行代码的过程中,2.xlsx这个文件的打开及关闭过程是看不到的,楼主可以在运行代码前和运行代码后对比一下差别。
好了,就想到说这些,希望对你有帮助,如有疑问,欢迎追问!
不知道楼主想要怎么样的结果,我这里就纯粹以自己的臆想来做啊
在这里,我假设有两个excel文件是在同一个文件夹里的,一个为1.xlsx,另一个为2.xlsx
(这里有必要说明一下,我用的是excel2007版的)
那么假设1.xlsx里的sheet1中的A1和C2单元格是我们所要赋值的源单元格,我们想要将它们分别赋值给2.xlsx中的B1,B2单元格,那么可以在1.xlsx用vba代码,具体做法如下:
(1)将1.xlsx打开,然后同时按下Alt+F11,打开visual basic 编辑器
(2)选择菜单上的“插入”下的“模块”,出现一个空白窗口后,粘贴以下代码:
Sub test()Dim r1 As Range
Dim r2 As Range
Dim w As Workbook
ThisWorkbook.Activate
Set r1 = ThisWorkbook.Sheets(1).[a1]
Set r2 = ThisWorkbook.Sheets(1).[c2]
Set w = Workbooks.Open(ThisWorkbook.Path & "\2.xlsx")w.Sheets(1).[b1] = r1
w.Sheets(1).[b2] = r2
SendKeys "~"
w.Save
w.Close
End Sub
(3)回到excel窗口,按下Alt+F8,选中“test”,然后点执行就可以了。
以下是补充说明的几点:
(1)这只是一个例子,可能与楼主的要求符
(2)我用的是excel2007版的,代码可能有些不兼容
(3)在运行代码的过程中,2.xlsx这个文件的打开及关闭过程是看不到的,楼主可以在运行代码前和运行代码后对比一下差别。
好了,就想到说这些,希望对你有帮助,如有疑问,欢迎追问!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询