请各位帮忙。
13 个解决方案
#1
在线等中,很帮忙,分数不够可再给,只要能解决问题,还有就是如何用VBA打开已存在的EXCLE文件.
#2
Workbooks.Open ("c:\test.xls")
#3
dim exlA as new Excel.Application
dim exlB as new Excel.Application
dim WsheetA as Excel.Worksheets
dim WsheetB as Excel.Worksheets
exlA.Workbooks.open "第一个excel路径.xls" '打开excel文件,可以用变量
set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select
exlB.Workbooks.open "第二个excel路径.xls" '打开excel文件,可以用变量
set WsheetB = exlB.ActiveWorkbooks.WorkSheets(1).Select
WsheetB.cells(1,1)=WsheetA.cells(1,1) '把第一个excel文件的第一个单元格的值写到第二个excel文件的第一个单元格
...
WsheetB.Rang("B1")= WsheetA.Rang("D2")= '把第一个excel文件的D2单元格的值写到第二个excel文件的B1单元格
....
’关闭释放内存。
exlA.quit Save:=True '保存excelA
exlB.quit Save:=True '保存excelB
set exlA=nothing
set exlB=nothing
dim exlB as new Excel.Application
dim WsheetA as Excel.Worksheets
dim WsheetB as Excel.Worksheets
exlA.Workbooks.open "第一个excel路径.xls" '打开excel文件,可以用变量
set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select
exlB.Workbooks.open "第二个excel路径.xls" '打开excel文件,可以用变量
set WsheetB = exlB.ActiveWorkbooks.WorkSheets(1).Select
WsheetB.cells(1,1)=WsheetA.cells(1,1) '把第一个excel文件的第一个单元格的值写到第二个excel文件的第一个单元格
...
WsheetB.Rang("B1")= WsheetA.Rang("D2")= '把第一个excel文件的D2单元格的值写到第二个excel文件的B1单元格
....
’关闭释放内存。
exlA.quit Save:=True '保存excelA
exlB.quit Save:=True '保存excelB
set exlA=nothing
set exlB=nothing
#4
arden1019(暮眠),多谢你,我可以用你的方法打开,但如何读取打开文件的内容呢?
#5
楼上的楼上已经告诉你了。
#6
我创建了个窗体,在按妞的单击后面复制你给的代码,改了"第一个excel路径.xls"、"第二个excel路径.xls"为我的xls文件路径,编译通过
运行时候有错。
提示是set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select有错!!
运行时候有错。
提示是set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select有错!!
#7
请问,如何将一个excel的sheet1中的内容copy到另一个excel文件的sheet1中去,而不将VBA程序也同时copy过去呢?
谢谢!
谢谢!
#8
Private Sub CommandButton1_Click()
Dim exlA As New Excel.Application
exlA.Workbooks.Open "G:\test\testready.xls" '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
Set exlA = Nothing
End Sub
这样就把testready.xls文件里面的sheet2的内容复制到了文件的sheet1中,从第4行到exlA.ActiveSheet.UsedRange.Rows.Count,检验过了没有错.
Dim exlA As New Excel.Application
exlA.Workbooks.Open "G:\test\testready.xls" '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
Set exlA = Nothing
End Sub
这样就把testready.xls文件里面的sheet2的内容复制到了文件的sheet1中,从第4行到exlA.ActiveSheet.UsedRange.Rows.Count,检验过了没有错.
#9
我现在需要解决的是
如何可以将多个工作表的内容按前后顺序复制到同一个工作表中?
希望一起考虑,高手指点.
如何可以将多个工作表的内容按前后顺序复制到同一个工作表中?
希望一起考虑,高手指点.
#10
不好意思,
把.select 去掉。
把.select 去掉。
#11
"多个工作表",那可以用循环呀。
Dim exlA As New Excel.Application
dim Paths(10) as string
paths(0)="testready.xls"
paths(1)="testready1.xls"
paths(2)="testready2.xls"
...
for i = 0 to 10
exlA.Workbooks.Open "G:\test\" & paths(i) '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
next
Set exlA = Nothing
End Sub
Dim exlA As New Excel.Application
dim Paths(10) as string
paths(0)="testready.xls"
paths(1)="testready1.xls"
paths(2)="testready2.xls"
...
for i = 0 to 10
exlA.Workbooks.Open "G:\test\" & paths(i) '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
next
Set exlA = Nothing
End Sub
#12
楼上方法笨,我的方法是用sheet的“移动或复制工作表”,你可以先用宏录制
再将代码改为可动态制定文件
这样快
再将代码改为可动态制定文件
这样快
#13
本来就是在excel中,还要定义一个 excel对象,此方法有问题
#1
在线等中,很帮忙,分数不够可再给,只要能解决问题,还有就是如何用VBA打开已存在的EXCLE文件.
#2
Workbooks.Open ("c:\test.xls")
#3
dim exlA as new Excel.Application
dim exlB as new Excel.Application
dim WsheetA as Excel.Worksheets
dim WsheetB as Excel.Worksheets
exlA.Workbooks.open "第一个excel路径.xls" '打开excel文件,可以用变量
set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select
exlB.Workbooks.open "第二个excel路径.xls" '打开excel文件,可以用变量
set WsheetB = exlB.ActiveWorkbooks.WorkSheets(1).Select
WsheetB.cells(1,1)=WsheetA.cells(1,1) '把第一个excel文件的第一个单元格的值写到第二个excel文件的第一个单元格
...
WsheetB.Rang("B1")= WsheetA.Rang("D2")= '把第一个excel文件的D2单元格的值写到第二个excel文件的B1单元格
....
’关闭释放内存。
exlA.quit Save:=True '保存excelA
exlB.quit Save:=True '保存excelB
set exlA=nothing
set exlB=nothing
dim exlB as new Excel.Application
dim WsheetA as Excel.Worksheets
dim WsheetB as Excel.Worksheets
exlA.Workbooks.open "第一个excel路径.xls" '打开excel文件,可以用变量
set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select
exlB.Workbooks.open "第二个excel路径.xls" '打开excel文件,可以用变量
set WsheetB = exlB.ActiveWorkbooks.WorkSheets(1).Select
WsheetB.cells(1,1)=WsheetA.cells(1,1) '把第一个excel文件的第一个单元格的值写到第二个excel文件的第一个单元格
...
WsheetB.Rang("B1")= WsheetA.Rang("D2")= '把第一个excel文件的D2单元格的值写到第二个excel文件的B1单元格
....
’关闭释放内存。
exlA.quit Save:=True '保存excelA
exlB.quit Save:=True '保存excelB
set exlA=nothing
set exlB=nothing
#4
arden1019(暮眠),多谢你,我可以用你的方法打开,但如何读取打开文件的内容呢?
#5
楼上的楼上已经告诉你了。
#6
我创建了个窗体,在按妞的单击后面复制你给的代码,改了"第一个excel路径.xls"、"第二个excel路径.xls"为我的xls文件路径,编译通过
运行时候有错。
提示是set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select有错!!
运行时候有错。
提示是set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1).Select有错!!
#7
请问,如何将一个excel的sheet1中的内容copy到另一个excel文件的sheet1中去,而不将VBA程序也同时copy过去呢?
谢谢!
谢谢!
#8
Private Sub CommandButton1_Click()
Dim exlA As New Excel.Application
exlA.Workbooks.Open "G:\test\testready.xls" '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
Set exlA = Nothing
End Sub
这样就把testready.xls文件里面的sheet2的内容复制到了文件的sheet1中,从第4行到exlA.ActiveSheet.UsedRange.Rows.Count,检验过了没有错.
Dim exlA As New Excel.Application
exlA.Workbooks.Open "G:\test\testready.xls" '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
Set exlA = Nothing
End Sub
这样就把testready.xls文件里面的sheet2的内容复制到了文件的sheet1中,从第4行到exlA.ActiveSheet.UsedRange.Rows.Count,检验过了没有错.
#9
我现在需要解决的是
如何可以将多个工作表的内容按前后顺序复制到同一个工作表中?
希望一起考虑,高手指点.
如何可以将多个工作表的内容按前后顺序复制到同一个工作表中?
希望一起考虑,高手指点.
#10
不好意思,
把.select 去掉。
把.select 去掉。
#11
"多个工作表",那可以用循环呀。
Dim exlA As New Excel.Application
dim Paths(10) as string
paths(0)="testready.xls"
paths(1)="testready1.xls"
paths(2)="testready2.xls"
...
for i = 0 to 10
exlA.Workbooks.Open "G:\test\" & paths(i) '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
next
Set exlA = Nothing
End Sub
Dim exlA As New Excel.Application
dim Paths(10) as string
paths(0)="testready.xls"
paths(1)="testready1.xls"
paths(2)="testready2.xls"
...
for i = 0 to 10
exlA.Workbooks.Open "G:\test\" & paths(i) '打开excel文件,可以用变量
For J = 4 To exlA.ActiveSheet.UsedRange.Rows.Count
Worksheets("sheet1").Cells(J, 1).Value = exlA.Worksheets("sheet2").Cells(J, 1).Value
Next
exlA.Quit
next
Set exlA = Nothing
End Sub
#12
楼上方法笨,我的方法是用sheet的“移动或复制工作表”,你可以先用宏录制
再将代码改为可动态制定文件
这样快
再将代码改为可动态制定文件
这样快
#13
本来就是在excel中,还要定义一个 excel对象,此方法有问题