1. 首页 > 科技

excel VB 转到已打开的某个工作簿? excel多张表汇总一张

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