请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!

如题所述

第1个回答  推荐于2017-11-25
还没有人帮忙吗?那我就来试试吧。

不知道楼主想要怎么样的结果,我这里就纯粹以自己的臆想来做啊
在这里,我假设有两个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这个文件的打开及关闭过程是看不到的,楼主可以在运行代码前和运行代码后对比一下差别。

好了,就想到说这些,希望对你有帮助,如有疑问,欢迎追问!本回答被提问者采纳

vba怎样把一个单元格中的值赋给另一个单元格
1、首先点击EXCEL打开EXCEL工作薄,工作簿的名称为“给单元格赋值.xls”。2、进入EXCEL界面后点击开发工具选项卡,点击上面的VIUAL BASIC按钮打开VBA编辑器。3、进入VBA编辑器后再代码输入窗口输入如下代码。Sub 给单元格赋值()Workbooks("给单元格赋值.xls").Worksheets("数据").Range("A1").Value = ...

使用excel VBA将一个单元格内输入的数据赋给另一个单元格
鼠标右击要实现此功能的工作表的表标签处,选“查看代码”打开代码编辑窗口,如果窗口有任何代码,都把它删除,然后复制》粘贴下面的代码进去,保存 Private Sub Worksheet_Change(ByVal Target As Range)If Target.Row = 1 And Target.Column = 1 Then Range("b1").Value = Range("a1").Value En...

excel vba中,一个工作薄如何给另一个工作薄的vba变量赋值?
将a.xls工作薄vba标准模块中的变量“aa”设为全局变量,设一个带参数的赋值过程,在b.xls的代码中调用这个过程,参数用你要赋给aa的值。具体如下:'a.xls工作薄中vba标准模块中代码:Public aa Sub Setaa(x)aa = x End Sub 'b.xls工作薄中的代码:(括号中的8就是要赋给aa的值)Run "'...

vba中把第一个表中的数据赋值到第二个表中
建议使用表的名称 worksheets("表2的名称").cells(1,1)=worksheets(("表1的名称").cells(1,1)

...VBA 想实现将一个工作表的内容,赋值到另一个表中。能给我提供一下...
在工作簿2设计一个按钮 for i=1 to range("A60000").end(xlup).row set chaxun=workbooks("工作簿1").worksheets("sheet1").columns(1).find(what:=cells(i,1),lookat:=xlwhole if chaxun is nothing then else cells(i,2)=workbooks("工作簿1").worksheets("sheet1").cells(chaxun....

excel中,将一个工作表中几列数据自动更新到另一个工作表中对应的列...
代码 置于表2下 Private Sub Worksheet_Activate()Range("A:Z").Clear '清空部分区域,一般能包括 Dim RefRow As Integer Dim RefCol As Integer Dim SubRowIndex As Integer Dim SubColIndex As Integer RefRow = 0 ' 表示表2相对表1的行偏移 RefCol = 0 ' 表示表2相对表1的列偏移 Su...

我现在想用vba实现后台打开A工作簿,并计算sheet1里的A列的非空单元格...
试一下这个:Sub test()Dim r As LongGetObject ("D:\\test\\1abcd.xlsx")r = Workbooks("1abcd.xlsx").Sheets("Sheet1").Columns("A").SpecialCells(xlCellTypeBlanks).CountWorkbooks("1abcd.xlsx").Close FalseEnd Sub

新手求助,用VBA给另一个工作簿单元格赋值的问题
其实很简单,大概思路如下:1、首先你并没有贴出代码 2、选择需要赋值的工作簿(可用select)方法 3、选择要赋值的单元格(cell,range)都可以 4、执行赋值操作

利用excel vba定义方法 实现将查询另一个工作薄里三个条件相等将完成日...
用VBA可以实现。假设sheet1和sheet2中A,B,C,D列中的数据分别为:名称,日期,数量,完成日期 定义数组 int_row=activesheet.usedrange.rows.count ’表示表达所使用的行数 dim Sheet1_name(2 to int_row) as double '表单1中的数据全部赋给数组 dim Sheet1_date(2 to int_row) as dou...

如何在excel工作簿中自动提取条件符合的数据到另一表中
使用方法(代码中以A、B列理解的你的意思):1、打开 b.xls 需要输入型号的那张表,按 ALT + F11 组合键打开 VBA编码器 2、在编码器左侧双击与 b.xls 需要输入型号的那张表 对应的表 3、把下面的代码复制到右侧的代码区域 在 b.xls 需要输入型号的那张表的A列输入型号试试看哦。。' 表...

相似回答