为什么以下 代码到 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
展开
 我来答
匿名用户
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")
为什么啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式