mdsk.net
当前位置:首页 >> vBA运行时错误1004 应用程序定义或对象定义错误 >>

vBA运行时错误1004 应用程序定义或对象定义错误

从抛出异常来看Sheet没有正常被定义到,请确认你的sheet名是否正确,断点打到sheet名获取哪里,看是否能正确获得!

检查一下你的rowindex和columnindex是不是有为零的情况

当定义key_row变量后,key_row的值是0, If Worksheets(i + 1).Cells(key_row, 3) "" Then 在这条语句前没有给key_row赋值,这时key_row的值是0,但在cells中的两个参数都不为0,如果是0就出错误。

将Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1) 修改成: Wb.Sheets(G).UsedRange.Copy Windows("数据合并.xlsm").Activate Cells(Range("A65536").End(xlUp).Row + 1, 1).Select ActiveSheet.Paste 即可。

Range("A1:D599").Select 这句代选择的是代码所在的工作表,如果该工作表处于非激活状态则出错。 修改为如下任意一个(根据自己需要) 1、 sheet("sheet1").activate 先把要选择的工作表激活,然后再选择。 Range("A1:D599").Select 2、 ActiveS...

cells(s,c),cells(j,d) c,d没赋值 如果C,D是表示列那应该写成cells(s,"c")或者cells(s,3) cells(j,"d")或者cells(j,4) VBA中的Cells语法是:Cells(行数,列数),行数和列数都是整数值,如: cells(1,1)代表第一行第一列,也就是A1单元格 在VBA中,与Ran...

Sheets(1).Range("A1:H").End(xlUp).Select很明显,应该改为 Sheets(1).Range("A1:H1").End(xlUp).Select,你就缺了一个1,就是Range("A1:H1"),呵呵。采纳吧。。。

Range(Cells(i, j)) 这种形式用于区域: Range(Cell1,Cell2)

先停用VBA 打开工具 引用 去“丢失的***”

请确认变量r的定义是否正确。 如果Sheet4的第4列末尾行数小于4,则导致循环变量d的无效。

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com