excel应用程序定义或对象定义错误 1004
求助,excel应用程序定义或对象定义错误 1004 通过百度勾选“信任对VBA工程对象模型的访问”,但还是出现问题,不知道是代码有问题还是哪里出错了,求助各位大佬,代码如下:'批量删除除数据和模板以外的其他工作表
Public Function DeleteSheets()
Dim i As Integer
Application.DisplayAlerts = False '不显示提示对话框。
For i = 1 To Sheets.Count '删除除数据和模板以外的其他工作表。
If Sheets.Count >= 13 Then
Sheets(13).Delete '从第13个工作表开始删除。
End If
Next
End Function
'复制处理数据
Public Function CopyTheData()
DeleteSheets
Dim N As Integer '数据工作表中实际包含数据的行数N,即本案例中学生的人数。
Dim i As Integer '第i条数据,第i个学生。
'之所以减1,是因为「数据工作表」含有一个标题行。
N = Sheets("数据").UsedRange.Rows.Count - 1
For i = 1 To N
Sheets("模板").Copy after:=Sheets(i + 11) '复制模板工作表,并始终放在最后位置。
Sheets(i + 12).Name = Sheets("数据").Cells(i + 1, 3) & Sheets("数据").Cells(i + 1, 1) & Sheets("数据").Cells(i + 1, 2) '用姓名重命名工作表。
Sheets(i + 12).Cells(37, 8) = Sheets("数据").Cells(i + 1, 2) '学号
Next
End Function
'把工作表另存为工作簿
Public Function SplitAndSaveFiles()
CopyTheData '调用CopyTheData
Dim fileName As String
For i = 13 To Sheets.Count
Sheets(i).Select '选择第i个工作表(i>=13)
fileName = Sheets(i).Name '工作表的名称,案例中为学生的名字
Sheets(i).Copy '复制第i个工作表(i>=13)为新的工作簿
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:= _
"G:\8年级\" & fileName & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
ActiveWindow.Close '关闭新工作簿
Windows("测试.xlsm").Activate '激活学生考试成绩表.xlsm
Next
End Function 成绩统计系统哈?分享一个玩玩 Sheets(13).Delete '从第13个工作表开始删除。
这就开始错了
Sheets("13").Delete fanvalen 发表于 2021-4-22 18:48
Sheets(13).Delete '从第13个工作表开始删除。
这就开始错了
你是想表达表名为13的还是表名sheets13 fanvalen 发表于 2021-4-22 18:50
你是想表达表名为13的还是表名sheets13
后面sheets全错 测试下是不是重命名时,名称为空
即 Sheets("数据") 某一行前三列没数据
Sheets(i + 12).Name = Sheets("数据").Cells(i + 1, 3) & Sheets("数据").Cells(i + 1, 1) & Sheets("数据").Cells(i + 1, 2) '用姓名重命名工作表 fanvalen 发表于 2021-4-22 18:48
Sheets(13).Delete '从第13个工作表开始删除。
这就开始错了
Sheets("13").Delete改成这样,直接就显示错误了 wu0o0pj 发表于 2021-4-23 10:43
测试下是不是重命名时,名称为空
即 Sheets("数据") 某一行前三列没数据
Sheets(i + 12).Name = Sheets(" ...
{:1_904:}没看明白,我找程序员看了,他们说代码是没错的,不知道为什么运行会出现这个问题 @小小涩郎 大佬来解读一下vba代码呢 xj520juan 发表于 2021-4-24 10:46
Sheets("13").Delete改成这样,直接就显示错误了
你录制一下大部分操作看看
页:
[1]
2