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

2024-10-30 02:45:49
推荐回答(5个)
回答1:

vba运行时错误1004 应用程序定义或对象定义错误是设置错误造成的,解决方法为:

1、先打开一个文件。

2、单击文件―选项―信任中心―信任中心设置。

3、打开“信任中心”对话框 宏设置。

4、勾选“信任对VBA工程对象模型的访问” 点击确定。就不会出现运行时错误1004提示。 

回答2:

估计是你代码前面有强制声明语句:Option Explicit,而你的S1和s4并没有声明,所以出错。删除那句或将变量全部声明即可。
另外从代码看出了一个重要问题,在While (s1.Cells(r1, 1) <> "")循环体内并没有改变r1的值,所以 s1.Cells(r1, 1) 是永远不会变的,如果满足条件进入循环就成了死循环。另外While (s1.Cells(r1, 1) <> "")这句的外层括号是多余的

回答3:

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

回答4:

试试改改这里:

For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next

在Sheets.Count前面加一个wb.

改后如下:

For G = 1 To wb.Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next

回答5:

Sheets(1).Range("A1:H").End(xlUp).Select 改成 Sheets(1).Range("A1:H1").End(xlUp).Select
--注意写全