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 展开
'
' 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 展开
4个回答
2015-10-11 · 知道合伙人数码行家
关注
展开全部
可以如下方式解决:
1、当按F5键,就报:运行时错误1004。可以这样操作,单击文件――选项――信任中心――打开“信任中心”对话框,宏设置――勾选“信任对VBA工程对象模型的访问”。再次运行,就不会出现运行时错误1004提示。
2、再在搜索引擎查询,才知道运行时错误1004不只是在上面这种情况才会有提示。比如通过使用 Visual Basic 对应用程序的宏创建一个数组公式时您也可能会收到运行时错误1004提示提示信息。造成excel vba输入公式出现运行时错误1004的原因:当试图将传递一个包含超过 255 个字符的公式时,会发生此问题,并为应用程序中 Visual Basic 中使用 FormulaArray 属性。
展开全部
一台电脑貌似不能安装两个版本的office吧。建议卸载掉一个,然后在重新安装2007试试看。
下载并解压本站提供的数据包,直接双击打开
office 2013卸载工具会自动检测你的电脑是否有office 2013
提示你是否要卸载,点击“yes”
过个几十秒就可以了,再重启电脑就ok了。
下载并解压本站提供的数据包,直接双击打开
office 2013卸载工具会自动检测你的电脑是否有office 2013
提示你是否要卸载,点击“yes”
过个几十秒就可以了,再重启电脑就ok了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已经存在了一个名字是:工具栏1 的Toolbar,再次添加就会造成冲突了。
在Toolbars.add 的前面加一句:On Error Resume Next,就不会提示出错了。
在Toolbars.add 的前面加一句:On Error Resume Next,就不会提示出错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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 为工作表名称。
修改为如下任意一个(根据自己需要)
1、
sheet("sheet1").activate 先把要选择的工作表激活,然后再选择。
Range("A1:D599").Select
2、
ActiveSheet.Range("A1:D599").Select 选择当前激活的工作表的指定区域
3、
sheet("sheet1").Range("A1:D599").Select 选择指定工作表的指定区域。sheet1 为工作表名称。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询