ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 748|回复: 1

vb代码win10正常运行win11出现1004报错

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-10-19 14:37 | 显示全部楼层 |阅读模式
一个刷表工具,在win10系统下可以正常运行,但是win11会出现
image.png
点击调试:
image.jpg
对比了两台电脑只发现了系统的版本不同,不确定是不是由于这个原因

代码如下:


Sub brushyourass3()

'————————added by jiamengnan 20210816
'- - - - - - - - - fixed by jiamengnan 20211229 解决删除行数据后的报错问题
'- - - - - - - - - - fixed by jiamengnan 20220317 解决删除行数据后输出页中之前的数据依然残留的问题
Dim i, j, k, m As Integer
Dim x, y As Integer
Dim z As Integer
Dim g As Integer
Dim apath, b As String
Dim transpath As String
Dim ownpath As String
Dim t
t = Timer
Application.ScreenUpdating = False
Excel.Application.Workbooks("item工具表.xlsm").Activate
Application.Worksheets("item").Activate
k = 0                                            '判断编辑页的item数
For i = 9 To 100000 Step 1
If Cells(i, 1) <> "" Then
k = k + 1
End If
Next i
Application.Worksheets("item_ex").Activate
m = 0                                           '判断数据页的item数
For j = 5 To 100000 Step 1
If Cells(j, 1) <> "" Then
m = m + 1
End If
Next j
y = 0
For x = 1 To 100 Step 1
If Cells(3, x) <> "" Then
y = y + 1
End If
Next x
Application.Worksheets("item").Activate
Cells(4, 3) = m
Cells(5, 3) = k
Cells(6, 3) = y
Worksheets("item").Calculate
Range("a" & 9 & ":a" & k + 8).Select
Selection.Copy
Application.Worksheets("item_ex").Activate
Range("a5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("b5").Resize(1, y).Select
Selection.Copy
For z = 6 To (k + 4) Step 1
Cells(z, 2).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next z
g = m - k
If g > 0 Then

Sheets("item_ex").Range("a" & (k + 5)).Resize(g, y).ClearContents

End If

Worksheets("item_ex").Calculate






'Application.CutCopyMode = False
Application.Worksheets("item").Activate

apath = Application.ActiveWorkbook.Path         '获取数据表路径
'Cells(4, 1) = apath
transpath = Left(apath, Len(apath) - 20)

ownpath = transpath & "trunk\public\config\Excel\Item"
Cells(1, 4) = ownpath

Application.DisplayAlerts = False
ActiveWorkbook.Save
b = Cells(1, 4)
Application.Worksheets("item").Activate
Application.Worksheets("item").Select


Worksheets("item").Calculate         '重新计算公式
Application.Worksheets("item_ex").Activate
Application.Worksheets("item_ex").Select
Worksheets("item_ex").Calculate
Range("a5").Resize(k, y).Select

Selection.Copy
Application.Workbooks.Open (b)
Application.Workbooks("Item.xlsx").Activate
Application.Worksheets("物品|Item").Activate
Range("A5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False            '数值粘贴
Application.CutCopyMode = False            '清除剪贴板
Range("a" & (k + 5)).Resize(m, y).ClearContents
ActiveWorkbook.Save
ActiveWorkbook.Close
MsgBox ("本次刷表用时" & Format(Timer - t, "0.00" & "秒。别忘记SVN提交本表和Item表哦!"))

Application.ScreenUpdating = True


End Sub





TA的精华主题

TA的得分主题

发表于 2023-11-23 19:41 来自手机 | 显示全部楼层
应该是office的版本问题,也分32位和64位。跟系统版本问题不大。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 09:57 , Processed in 0.038354 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表