请问如何用vba实现选择打开一个EXCE文件,并把这个该文件的Sheet1中的A1:Q30复制到当前工作表中,然后关闭
DimfileNameObjAsVariantDimaFileAsVariant'数组,提取文件名fileName时使用'打开文件对话框返回的文件名,是一个全路径文件名,...
Dim fileNameObj As Variant
Dim aFile As Variant '数组,提取文件名fileName时使用
'打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant
Dim fullName As String
Dim fileName As String '从FileName中提取的路径名
Dim i As Integer
fileNameObj = Application.GetOpenFilename("Excel 文件 (.xls), .xls")
Workbooks.Open fileNameObj
这个是打文件的代码,那么复制的代码怎么写呢?
Dim wbMy As Workbook
Dim shtMy, shtCur As Worksheet
Application.ScreenUpdating = False
myfile = Application.GetOpenFilename("Excel 文件 (*.xls) (*.xls), *.xls", , "请选择要导入数据的文件!", , False)
If myfile = False Then Exit Sub
Set shtCur = ActiveSheet
Set wbMy = GetObject(myfile)
Set shtMy = wbMy.Worksheets(1)
shtCur.[a1:a10].Value = shtMy.[a1:a10].Value
wbMy.Close False
以上这段代码A电脑上可能运行,但是在B电脑上使用就会出错,
请高手给写一段好的代码,谢谢! 展开
Dim aFile As Variant '数组,提取文件名fileName时使用
'打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant
Dim fullName As String
Dim fileName As String '从FileName中提取的路径名
Dim i As Integer
fileNameObj = Application.GetOpenFilename("Excel 文件 (.xls), .xls")
Workbooks.Open fileNameObj
这个是打文件的代码,那么复制的代码怎么写呢?
Dim wbMy As Workbook
Dim shtMy, shtCur As Worksheet
Application.ScreenUpdating = False
myfile = Application.GetOpenFilename("Excel 文件 (*.xls) (*.xls), *.xls", , "请选择要导入数据的文件!", , False)
If myfile = False Then Exit Sub
Set shtCur = ActiveSheet
Set wbMy = GetObject(myfile)
Set shtMy = wbMy.Worksheets(1)
shtCur.[a1:a10].Value = shtMy.[a1:a10].Value
wbMy.Close False
以上这段代码A电脑上可能运行,但是在B电脑上使用就会出错,
请高手给写一段好的代码,谢谢! 展开
1个回答
展开全部
With shtMy
.Activate
.Range(.Cells(1, 1), .Cells(10, 1)).Copy
End With
shtCur.Activate
shtCur.Cells(1, 1).Select
ActiveSheet.Paste
.Activate
.Range(.Cells(1, 1), .Cells(10, 1)).Copy
End With
shtCur.Activate
shtCur.Cells(1, 1).Select
ActiveSheet.Paste
追问
完成的代码是什么?请明示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询