excel VB 转到已打开的某个工作簿? excel多张表汇总一张
VBA 中,excel把一个工作簿的值发送到另一个工作簿
这个应该不叫“发送”,而是写入到或记录到其它工作薄
首先,要写入到其它的工作薄,就必须用代码打开那个工作薄,要打开那个工作薄,就必须知道那个工作薄的完事的路径和名称。如:
workbooks("这里是完事的路径和名称").open
或者,调用windows的文件打开窗口来指定文件,如:
dim Filename
Filename = Application.GetOpenFilename("Excel 文件 ,*.xls;*.xlsx")
workbooks(Filename).open
接下来才是,数据的写入过程。如,将当前工作薄的sheet1的A1单元格写入到刚刚打开的文件的sheet1的A1单元格:
workbooks(Filename).sheets"sheet1").range("A1")=thisworkbook.sheets(sheet1).range("A1")
利用EXCEL VBA将一个工作薄的内容自动转移到另一个工作薄
首先使用VBA窗体输入是肯定可以实现的,但是你要多人同时输入,需要使工作簿共享,虽然EXCEL在共享工作簿功能中有“允许多用户同时编辑”,但是不能实时更新,必须关闭工作簿后才生效。另一种方法就是写入代码不停的自动刷新。反正这种方法不太顺手。
建议使用Access实现,access提供模板式的输入界面,存取数据的速度也较excel快。excel还有数据容量限制。
在VBA中如何打开另一个工作簿
Sub abc()
Workbooks.Open ("D:\Users\lan\Desktop\2.xls")
End Sub
打开d盘桌面文件:2.xls
路径要包含文件名和扩展名,并加引号
EXCEL VBA提取工作薄内容到另工作薄
Sub s()
For i = 3 To 6
t = Sheets("工作薄QW").Cells(Rows.Count, i).End(3).Text
a = ""
For j = 1 To Len(t)
d = Mid(t, j, 1)
If IsNumeric(d) Then
a = a & d
If Len(a) = 2 Then Exit For
End If
Next
Sheets("工作薄AE").Cells(19 + i * 2, i * 10 - 25) = a
Next
End Sub