为什么以下 代码到 a1.Cells(i, 1) = a2.Cells(4, 6) 这一句发生错误 怎样修改 谢谢 5
Sub打开()DimmyPath$,myFile$,AKAsWorkbookApplication.ScreenUpdating=False'冻结屏幕,以防屏幕抖动myP...
Sub 打开()
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = "C:\Documents and Settings\Administrator\桌面\myresult\" '在这里输入你的路径,即你存放工作簿的文件夹
myFile = Dir(myPath & "*.xls") '依次找寻指定路径中的*.xlsx文件
Do While myFile <> "" '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile) '打开符合要求的文件
End If
Set a1 = Workbooks("调拨货模板.xls").Sheets("汇总")
Set a2 = AK.Sheets(1)
a1.Cells(i, 1) = a2.Cells(4, 6)
a1.Cells(i, 2) = a2.Cells(5, 6)
a1.Cells(i, 3) = a2.Cells(6, 6)
a1.Cells(i, 4) = a2.Cells(7, 6)
'在这里插入你要处理的代码
AK.Close '这里可以选择参数是否保存,你也可以删除这行代码,手动关闭文件
myFile = Dir '找寻下一个*.xlsx文件
Loop
Application.ScreenUpdating = True '解除冻结屏幕,此类语句一般成对使用
End Sub 展开
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False '冻结屏幕,以防屏幕抖动
myPath = "C:\Documents and Settings\Administrator\桌面\myresult\" '在这里输入你的路径,即你存放工作簿的文件夹
myFile = Dir(myPath & "*.xls") '依次找寻指定路径中的*.xlsx文件
Do While myFile <> "" '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile) '打开符合要求的文件
End If
Set a1 = Workbooks("调拨货模板.xls").Sheets("汇总")
Set a2 = AK.Sheets(1)
a1.Cells(i, 1) = a2.Cells(4, 6)
a1.Cells(i, 2) = a2.Cells(5, 6)
a1.Cells(i, 3) = a2.Cells(6, 6)
a1.Cells(i, 4) = a2.Cells(7, 6)
'在这里插入你要处理的代码
AK.Close '这里可以选择参数是否保存,你也可以删除这行代码,手动关闭文件
myFile = Dir '找寻下一个*.xlsx文件
Loop
Application.ScreenUpdating = True '解除冻结屏幕,此类语句一般成对使用
End Sub 展开
1个回答
2015-10-26
展开全部
a1、a2前面没有定义,后面Set 语句是将对象引用赋给变量或属性。所以会出错。前面定义之后,把这两句的Set删掉试试。
追问
还是不行啊 换成这样就可以
a2.Range("f4").Copy a1.range("a1")
a2.Range("f5").Copy a1.range("b1")
a2.Range("f6").Copy a1.range("c1")
a2.Range("f7").Copy a1.range("d1")
为什么啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询