excel运行时错误1004,应用程序定义或者对象定义错误,这个怎么办

SubMacro2()''Macro2Macro''Columns("A:C").SelectSelection.DeleteShift:=xlToLeftColumns... Sub Macro2()
'
' Macro2 Macro
'

'
Columns("A:C").Select
Selection.Delete Shift:=xlToLeft
Columns("G:I").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields. _
Add Key:=Range("A2:A599"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:F599")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2, 3, 4), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
ActiveSheet.Outline.ShowLevels RowLevels:=2
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
ActiveSheet.Outline.ShowLevels RowLevels:=2
Selection.Replace What:=" 汇总", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveSheet.Outline.ShowLevels RowLevels:=2
以上没有问题,运行到下面就有问题了。希望大神们帮忙解决一下
Range("A1:D599").Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
Sheets("Sheet1").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
Sheets("Sheet2").Select
ActiveWindow.SelectedSheets.Delete
End Sub
展开
 我来答
虚伪的刘小辫
2015-10-11 · 知道合伙人数码行家
虚伪的刘小辫
知道合伙人数码行家
采纳数:4361 获赞数:16780
毕业于大连海事大学,学士学位。从事船员行业近4年,现在兼职滨州职业学院的代课老师。

向TA提问 私信TA
展开全部

可以如下方式解决:

1、当按F5键,就报:运行时错误1004。可以这样操作,单击文件――选项――信任中心――打开“信任中心”对话框,宏设置――勾选“信任对VBA工程对象模型的访问”。再次运行,就不会出现运行时错误1004提示。

2、再在搜索引擎查询,才知道运行时错误1004不只是在上面这种情况才会有提示。比如通过使用 Visual Basic应用程序的宏创建一个数组公式时您也可能会收到运行时错误1004提示提示信息。造成excel vba输入公式出现运行时错误1004的原因:当试图将传递一个包含超过 255 个字符的公式时,会发生此问题,并为应用程序中 Visual Basic 中使用 FormulaArray 属性。

百度网友c5bcb7af742
2017-04-08 · TA获得超过2.2万个赞
知道小有建树答主
回答量:1.2万
采纳率:47%
帮助的人:571万
展开全部
一台电脑貌似不能安装两个版本的office吧。建议卸载掉一个,然后在重新安装2007试试看。
下载并解压本站提供的数据包,直接双击打开
office 2013卸载工具会自动检测你的电脑是否有office 2013
提示你是否要卸载,点击“yes”
过个几十秒就可以了,再重启电脑就ok了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoxi1981
2015-01-12 · TA获得超过1197个赞
知道小有建树答主
回答量:961
采纳率:72%
帮助的人:324万
展开全部
已经存在了一个名字是:工具栏1 的Toolbar,再次添加就会造成冲突了。

在Toolbars.add 的前面加一句:On Error Resume Next,就不会提示出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy0qwer
2015-06-01 · TA获得超过3299个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1270万
展开全部
Range("A1:D599").Select 这句代选择的是代码所在的工作表,如果该工作表处于非激活状态则出错。

修改为如下任意一个(根据自己需要)

1、
sheet("sheet1").activate 先把要选择的工作表激活,然后再选择。

Range("A1:D599").Select
2、
ActiveSheet.Range("A1:D599").Select 选择当前激活的工作表的指定区域
3、

sheet("sheet1").Range("A1:D599").Select 选择指定工作表的指定区域。sheet1 为工作表名称。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式