excelvba合并工作簿 请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!
请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!
请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!
还没有人帮忙吗?那我就来试试吧。
不知道楼主想要怎么样的结果,我这里就纯粹以自己的臆想来做啊
在这里,我假设有两个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这个档案的开启及关闭过程是看不到的,楼主可以在执行程式码前和执行程式码后对比一下差别。
好了,就想到说这些,希望对你有帮助,如有疑问,欢迎追问!
如何将一个工作簿中的工作表资料链接到另一个工作簿中的工作表
要完成此操作,请在希望显示该资讯的单元格中键入等号 (=)。在另一个工作表中,单击要引用的单元格,然后按 Enter。
Excel 将使用对第二个单元格的引用自动填充第一个单元格。例如,如果第二个工作表的名称为 Sheet2,则 Excel 会将
Sheet2! 新增到所有单元格引用的开始位置。您可以用同样的方法连结到其他开启的工作簿。但请记住,此时建立的是指向外部资料的连结。重新开启当前工作簿时,如果包含所连结资料来源的工作簿尚未开启,则 Excel 将询问是否要更新连结的资料。
如何用VBA在一个新的工作簿工作表中汇总某资料夹下所有工作簿下某工作表某单元格资料?
可以做,“将工作簿工作表格式设定好,再将这些工作簿发给若干单位填报”,要知道格式和模拟资料,才能有奋斗目标,才能进行除错,才能确信所做的工作是正确的。
将一个工作表从工作簿中移到另一个工作簿,该如何操作?
方法一:先把工作表剪下,然后把它贴上在另一个工作薄上。
方法二:先把工作表复制,然后把它贴上在另一个工作薄上。
请教如何利用VBA实现将一个工作表复制到另一个工作簿中
1、首先在桌面建立两个Excel档案,一个企划和一个市场,如图所示。
2、同时开启这两个Excel,这里注意了两个Excel必须同时处于开启状态,如图所示。
3、在市场部Excel中的【市场部1月】表单名称上点选右键,在出现的对话方块中点选【移动或复制】,弹出【移动或复制工作表】对话方块,如图所示。
4、在【移动或复制工作表】对话方块中,工作簿选【企划】,位置选【移动到最后】,【建立副本】前面打勾,然后点选【确定】按钮,如图所示。
5、最后开启企划Excel文件,可以看到市场Excel文件的表单【市场部1月】已经被复制过来,如图所示。
如何把一个工作簿里面的工作表移到另一个工作簿中去
傻瓜、说爱我的方法是对的,右键选中你需要转移的工作表标签,然后选移动或复制工作表
然后选择你移动的目标档案,建立副本就是保留原始档,移动的时候就只是复制过去。
不打勾么就是剪下
excel2007.如何把一个工作簿中的工作表复制到另一个工作簿中去,谢谢!
开启这二个工作簿,然后在要复制的工作表表名上,也就是那个sheet1 sheet2等等,点右键,里面有复制工作表选项
如何使工作簿A中的a工作表 随着工作簿B中的b工作表数值的变化而变化 即 a=b
可以复制b工作表数值一选择性贴上连结到a工作表目标单元格,这样a表就随着b工作表数值的变化而变化,无论你的两个工作簿是不是同时开启的,都会是你满意的效果。
如何将多个工作簿中相同格式的工作表合并到一个工作表中
1原始资料所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表资料或者不同部门填写的资料。
2在原始资料同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。
3按Alt+F11进入VBA程式码编辑和除错介面。
4根据提示,插入一个模组。
5将下述程式码贴上到模组空白处:
Sub CombineSheetsCells()
Dim wsNewWorksheet As Worksheet
Dim cel As Range
Dim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As Variant
Dim TitleRow, TitleColumn As Range
Dim Num As Integer
Dim DataRows As Long
DataRows = 1
Dim TitleArr()
Dim Choice
Dim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$
Dim n, i
n = 1
i = 1
Application.DisplayAlerts = False
Worksheets("合并汇总表").Delete
Set wsNewWorksheet = Worksheets.Add(, after:=Worksheets(Worksheets.Count))
wsNewWorksheet.Name = "合并汇总表"
MyFileName = Application.GetOpenFilename("Excel工作薄 (*.xls*),*.xls*")
If MyFileName = "False" Then
MsgBox "没有选择档案!请重新选择一个被合并档案!", vbInformation, "取消"
Else
Workbooks.Open Filename:=MyFileName
Num = ActiveWorkbook.Sheets.Count
MyName = ActiveWorkbook.Name
Set DataSource = Application.InputBox(prompt:="请选择要合并的资料区域:", Type:=8)
AddressAll = DataSource.Address
ActiveWorkbook.ActiveSheet.Range(AddressAll).Select
SourceDataRows = Selection.Rows.Count
SourceDataColumns = Selection.Columns.Count
Application.ScreenUpdating = False
Application.EnableEvents = False
For i = 1 To Num
ActiveWorkbook.Sheets(i).Activate
ActiveWorkbook.Sheets(i).Range(AddressAll).Select
Selection.Copy
ActiveSheetName = ActiveWorkbook.ActiveSheet.Name
Workbooks(ThisWorkbook.Name).Activate
ActiveWorkbook.Sheets("合并汇总表").Select
ActiveWorkbook.Sheets("合并汇总表").Range("A" & DataRows).Value = ActiveSheetName
ActiveWorkbook.Sheets("合并汇总表").Range(Cells(DataRows, 2), Cells(DataRows, 2)).Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
DataRows = DataRows + SourceDataRows
Workbooks(MyName).Activate
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
Workbooks(MyName).Close
End Sub
6在“首页”工作表中按下图示范插入一个窗体控制元件并指定巨集为插入的程式码名称。
7点选“首页”工作表中插入的按钮,根据提示,浏览到原始资料工作簿。
8下一步,用滑鼠选择要合并的资料范围。
注意:每个工作表资料可能不一样,比如说有的是10行资料,有的是30行资料。在这里我们可以用滑鼠选择任意工作表的一个较大范围,比如说A1:D100,保证比最多行数的工作表资料还多就可以,一会再删除空行。
9点选确定按钮,待程式码执行完毕后,所有的资料就都合并到了“合并汇总表”中。
注意:
1)A列的文字说明右侧的资料来自于原始资料表的哪个工作表;
2)资料之间会有一些空行,下面通过筛选删除。
10选中全部资料区域,执行自动筛选。然后选择其中一个栏位,选择“空白”和标题内容。
11然后将筛选出来的无用行滑鼠右键删除,再删除A列整列即可,完成效果
如何从一个开启的工作簿中开启另一个工作簿中的一个工作表
简单,Excel在sheet1时点sheet2,反之点sheet1/3/4即可。下方的标签 。