ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 代码简化

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-8-13 09:05 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub 各种单耗()
Dim i&, x&
i = Sheets.Count '计算工作表数
For x = 2 To i '建立每个表循环
        With Sheets(x)
                .Range("C30").Formula = "=C28+'" & Sheets(x - 1).Name & "'!C30"
                .Range("C32").Formula = "=C30+'" & Sheets(x - 1).Name & "'!C32"
                .Range("C36").Formula = "=C34+'" & Sheets(x - 1).Name & "'!C36"
                .Range("C38").Formula = "=C36+'" & Sheets(x - 1).Name & "'!C38"
                .Range("C42").Formula = "=C40+'" & Sheets(x - 1).Name & "'!C42"
                .Range("C44").Formula = "=C42+'" & Sheets(x - 1).Name & "'!C44"
                .Range("C42").Formula = "=C40+'" & Sheets(x - 1).Name & "'!C42"
                .Range("C44").Formula = "=C42+'" & Sheets(x - 1).Name & "'!C44"
                .Range("C48").Formula = "=C46+'" & Sheets(x - 1).Name & "'!C48"
                .Range("C50").Formula = "=C48+'" & Sheets(x - 1).Name & "'!C50"
                .Range("D30").Formula = "=D28+'" & Sheets(x - 1).Name & "'!D30"
                .Range("D32").Formula = "=D30+'" & Sheets(x - 1).Name & "'!D32"
                .Range("D36").Formula = "=D34+'" & Sheets(x - 1).Name & "'!D36"
                .Range("D38").Formula = "=D36+'" & Sheets(x - 1).Name & "'!D38"
                .Range("D42").Formula = "=D40+'" & Sheets(x - 1).Name & "'!D42"
                .Range("D44").Formula = "=D42+'" & Sheets(x - 1).Name & "'!D44"
                .Range("D42").Formula = "=D40+'" & Sheets(x - 1).Name & "'!D42"
                .Range("D44").Formula = "=D42+'" & Sheets(x - 1).Name & "'!D44"
                .Range("D48").Formula = "=D46+'" & Sheets(x - 1).Name & "'!D48"
                .Range("D50").Formula = "=D48+'" & Sheets(x - 1).Name & "'!D50"
                .Range("E30").Formula = "=E28+'" & Sheets(x - 1).Name & "'!E30"
                .Range("E32").Formula = "=E30+'" & Sheets(x - 1).Name & "'!E32"
                .Range("E36").Formula = "=E34+'" & Sheets(x - 1).Name & "'!E36"
                .Range("E38").Formula = "=E36+'" & Sheets(x - 1).Name & "'!E38"
                .Range("E42").Formula = "=E40+'" & Sheets(x - 1).Name & "'!E42"
                .Range("E44").Formula = "=E42+'" & Sheets(x - 1).Name & "'!E44"
                .Range("E42").Formula = "=E40+'" & Sheets(x - 1).Name & "'!E42"
                .Range("E44").Formula = "=E42+'" & Sheets(x - 1).Name & "'!E44"
                .Range("E48").Formula = "=E46+'" & Sheets(x - 1).Name & "'!E48"
                .Range("E50").Formula = "=E48+'" & Sheets(x - 1).Name & "'!E50"
                .Range("F30").Formula = "=F28+'" & Sheets(x - 1).Name & "'!F30"
                .Range("F32").Formula = "=F30+'" & Sheets(x - 1).Name & "'!F32"
                .Range("F36").Formula = "=F34+'" & Sheets(x - 1).Name & "'!F36"
                .Range("F38").Formula = "=F36+'" & Sheets(x - 1).Name & "'!F38"
                .Range("F42").Formula = "=F40+'" & Sheets(x - 1).Name & "'!F42"
                .Range("F44").Formula = "=F42+'" & Sheets(x - 1).Name & "'!F44"
                .Range("F42").Formula = "=F40+'" & Sheets(x - 1).Name & "'!F42"
                .Range("F44").Formula = "=F42+'" & Sheets(x - 1).Name & "'!F44"
                .Range("F48").Formula = "=F46+'" & Sheets(x - 1).Name & "'!F48"
                .Range("F50").Formula = "=F48+'" & Sheets(x - 1).Name & "'!F50"
                .Range("G30").Formula = "=G28+'" & Sheets(x - 1).Name & "'!G30"
                .Range("G32").Formula = "=G30+'" & Sheets(x - 1).Name & "'!G32"
                .Range("G36").Formula = "=G34+'" & Sheets(x - 1).Name & "'!G36"
                .Range("G38").Formula = "=G36+'" & Sheets(x - 1).Name & "'!G38"
                .Range("G42").Formula = "=G40+'" & Sheets(x - 1).Name & "'!G42"
                .Range("G44").Formula = "=G42+'" & Sheets(x - 1).Name & "'!G44"
                .Range("G42").Formula = "=G40+'" & Sheets(x - 1).Name & "'!G42"
                .Range("G44").Formula = "=G42+'" & Sheets(x - 1).Name & "'!G44"
                .Range("G48").Formula = "=G46+'" & Sheets(x - 1).Name & "'!G48"
                .Range("G50").Formula = "=G48+'" & Sheets(x - 1).Name & "'!G50"
                .Range("H30").Formula = "=H28+'" & Sheets(x - 1).Name & "'!H30"
                .Range("H32").Formula = "=H30+'" & Sheets(x - 1).Name & "'!H32"
                .Range("H36").Formula = "=H34+'" & Sheets(x - 1).Name & "'!H36"
                .Range("H38").Formula = "=H36+'" & Sheets(x - 1).Name & "'!H38"
                .Range("H42").Formula = "=H40+'" & Sheets(x - 1).Name & "'!H42"
                .Range("H44").Formula = "=H42+'" & Sheets(x - 1).Name & "'!H44"
                .Range("H42").Formula = "=H40+'" & Sheets(x - 1).Name & "'!H42"
                .Range("H44").Formula = "=H42+'" & Sheets(x - 1).Name & "'!H44"
                .Range("H48").Formula = "=H46+'" & Sheets(x - 1).Name & "'!H48"
                .Range("H50").Formula = "=H48+'" & Sheets(x - 1).Name & "'!H50"
                .Range("I30").Formula = "=I28+'" & Sheets(x - 1).Name & "'!I30"
                .Range("I32").Formula = "=I30+'" & Sheets(x - 1).Name & "'!I32"
                .Range("I36").Formula = "=I34+'" & Sheets(x - 1).Name & "'!I36"
                .Range("I38").Formula = "=I36+'" & Sheets(x - 1).Name & "'!I38"
                .Range("I42").Formula = "=I40+'" & Sheets(x - 1).Name & "'!I42"
                .Range("I44").Formula = "=I42+'" & Sheets(x - 1).Name & "'!I44"
                .Range("I42").Formula = "=I40+'" & Sheets(x - 1).Name & "'!I42"
                .Range("I44").Formula = "=I42+'" & Sheets(x - 1).Name & "'!I44"
                .Range("I48").Formula = "=I46+'" & Sheets(x - 1).Name & "'!I48"
                .Range("I50").Formula = "=I48+'" & Sheets(x - 1).Name & "'!I50"
                .Range("J30").Formula = "=J28+'" & Sheets(x - 1).Name & "'!J30"
                .Range("J32").Formula = "=J30+'" & Sheets(x - 1).Name & "'!J32"
                .Range("J36").Formula = "=J34+'" & Sheets(x - 1).Name & "'!J36"
                .Range("J38").Formula = "=J36+'" & Sheets(x - 1).Name & "'!J38"
                .Range("J42").Formula = "=J40+'" & Sheets(x - 1).Name & "'!J42"
                .Range("J44").Formula = "=J42+'" & Sheets(x - 1).Name & "'!J44"
                .Range("J42").Formula = "=J40+'" & Sheets(x - 1).Name & "'!J42"
                .Range("J44").Formula = "=J42+'" & Sheets(x - 1).Name & "'!J44"
                .Range("J48").Formula = "=J46+'" & Sheets(x - 1).Name & "'!J48"
                .Range("J50").Formula = "=J48+'" & Sheets(x - 1).Name & "'!J50"
                .Range("K30").Formula = "=K28+'" & Sheets(x - 1).Name & "'!K30"
                .Range("K32").Formula = "=K30+'" & Sheets(x - 1).Name & "'!K32"
                .Range("K36").Formula = "=K34+'" & Sheets(x - 1).Name & "'!K36"
                .Range("K38").Formula = "=K36+'" & Sheets(x - 1).Name & "'!K38"
                .Range("K42").Formula = "=K40+'" & Sheets(x - 1).Name & "'!K42"
                .Range("K44").Formula = "=K42+'" & Sheets(x - 1).Name & "'!K44"
                .Range("K42").Formula = "=K40+'" & Sheets(x - 1).Name & "'!K42"
                .Range("K44").Formula = "=K42+'" & Sheets(x - 1).Name & "'!K44"
                .Range("K48").Formula = "=K46+'" & Sheets(x - 1).Name & "'!K48"
                .Range("K50").Formula = "=K48+'" & Sheets(x - 1).Name & "'!K50"
                .Range("L30").Formula = "=L28+'" & Sheets(x - 1).Name & "'!L30"
                .Range("L32").Formula = "=L30+'" & Sheets(x - 1).Name & "'!L32"
                .Range("L36").Formula = "=L34+'" & Sheets(x - 1).Name & "'!L36"
                .Range("L38").Formula = "=L36+'" & Sheets(x - 1).Name & "'!L38"
                .Range("L42").Formula = "=L40+'" & Sheets(x - 1).Name & "'!L42"
                .Range("L44").Formula = "=L42+'" & Sheets(x - 1).Name & "'!L44"
                .Range("L42").Formula = "=L40+'" & Sheets(x - 1).Name & "'!L42"
                .Range("L44").Formula = "=L42+'" & Sheets(x - 1).Name & "'!L44"
                .Range("L48").Formula = "=L46+'" & Sheets(x - 1).Name & "'!L48"
                .Range("L50").Formula = "=L48+'" & Sheets(x - 1).Name & "'!L50"
                .Range("M30").Formula = "=M28+'" & Sheets(x - 1).Name & "'!M30"
                .Range("M32").Formula = "=M30+'" & Sheets(x - 1).Name & "'!M32"
                .Range("M36").Formula = "=M34+'" & Sheets(x - 1).Name & "'!M36"
                .Range("M38").Formula = "=M36+'" & Sheets(x - 1).Name & "'!M38"
                .Range("M42").Formula = "=M40+'" & Sheets(x - 1).Name & "'!M42"
                .Range("M44").Formula = "=M42+'" & Sheets(x - 1).Name & "'!M44"
                .Range("M42").Formula = "=M40+'" & Sheets(x - 1).Name & "'!M42"
                .Range("M44").Formula = "=M42+'" & Sheets(x - 1).Name & "'!M44"
                .Range("M48").Formula = "=M46+'" & Sheets(x - 1).Name & "'!M48"
                .Range("M50").Formula = "=M48+'" & Sheets(x - 1).Name & "'!M50"
        End With
Next x
End Sub

各种单耗.rar

739 Bytes, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2023-8-13 14:12 | 显示全部楼层
猜一下,没实测
  1. Sub 各种单耗()
  2. Dim i&, x&, r&
  3. i = Sheets.Count '计算工作表数
  4. For x = 2 To i '建立每个表循环
  5.     With Sheets(x)
  6.         for r=30 to 50 step 2
  7.             .range("c" & r).resize(,11).formular1c1="=r[-2]c+'" & Sheets(x - 1).Name & "'!rc"
  8.         next r
  9.     End With
  10. Next x
  11. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2023-8-13 14:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-8-13 14:47 | 显示全部楼层
Sub 各种单耗()
Dim i&, x&
i = Sheets.Count '计算工作表数
For x = 2 To i '建立每个表循环
    With Sheets(x)
        For j = 3 To 13  '循环C到M列
            n = 0
            For k = 1 To 8
                n = n + (k Mod 2) * 2 + 2
                .Cells(26 + n, j).Formula = "=" & Cells(24 + n, j).Address & "+'" & _
                Sheets(x - 1).Name & "'!" & Cells(26 + n, j).Address
            Next
        Next
    End With
Next x
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-8-13 16:15 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-8-13 16:21 | 显示全部楼层
Sub 各种单耗()
Dim i&, x&
i = Sheets.Count '计算工作表数
For x = 2 To i '建立每个表循环
    With Sheets(x)
        For j = 3 To 13 '循环C到M列
            n = 0
            For k = 1 To 8
                n = n + (k Mod 2) * 2 + 2
                .Cells(26 + n, j).Formula ="="" & Cells(24 + n,j).Address & " + '" & _
                Sheets(x - 1).Name & "'!" & Cells(26 + n, j).Address
            Next
        Next
    End With
Next x
End Sub

TA的精华主题

TA的得分主题

发表于 2023-8-13 17:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
王跃峰 发表于 2023-8-13 16:15
感谢帮助," + '"提示缺少表达式

再检查一下有没有拼写错误?我测试了没问题的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-8-13 17:26 | 显示全部楼层
Sub 各种单耗()
Dim i&, x&
i = Sheets.Count '计算工作表数
For x = 2 To i '建立每个表循环
    With Sheets(x)
        For j = 3 To 13 '循环C到M列
            n = 0
            For k = 1 To 8
                n = n + (k Mod 2) * 2 + 2
                .Cells(26 + n, j).Formula = "=" & Cells(24 + n, j).Address & "+'" & _
                Sheets(x - 1).Name & "'!" & Cells(26 + n, j).Address
            Next
        Next
    End With
Next x
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-8-13 17:42 | 显示全部楼层
半百 发表于 2023-8-13 17:07
再检查一下有没有拼写错误?我测试了没问题的。

老师您好,假如这样怎么改
Sub 各种单耗()
Dim i&, x&
i = Sheets.Count '计算工作表数
For x = 2 To i '建立每个表循环
        With Sheets(x)
                .Range("C30").Formula = "=C28+'" & Sheets(x - 1).Name & "'!C30"
                .Range("C32").Formula = "=C28+'" & Sheets(x - 1).Name & "'!C32"
                .Range("C36").Formula = "=C34+'" & Sheets(x - 1).Name & "'!C36"
                .Range("C38").Formula = "=C34+'" & Sheets(x - 1).Name & "'!C38"
                .Range("C42").Formula = "=C40+'" & Sheets(x - 1).Name & "'!C42"
                .Range("C44").Formula = "=C40+'" & Sheets(x - 1).Name & "'!C44"
                .Range("C48").Formula = "=C46+'" & Sheets(x - 1).Name & "'!C48"
                .Range("C50").Formula = "=C46+'" & Sheets(x - 1).Name & "'!C50"
                .Range("D30").Formula = "=D28+'" & Sheets(x - 1).Name & "'!D30"
                .Range("D32").Formula = "=D28+'" & Sheets(x - 1).Name & "'!D32"
                .Range("D36").Formula = "=D34+'" & Sheets(x - 1).Name & "'!D36"
                .Range("D38").Formula = "=D34+'" & Sheets(x - 1).Name & "'!D38"
                .Range("D42").Formula = "=D40+'" & Sheets(x - 1).Name & "'!D42"
                .Range("D44").Formula = "=D40+'" & Sheets(x - 1).Name & "'!D44"
                .Range("D48").Formula = "=D46+'" & Sheets(x - 1).Name & "'!D48"
                .Range("D50").Formula = "=D46+'" & Sheets(x - 1).Name & "'!D50"

                .Range("E30").Formula = "=E28+'" & Sheets(x - 1).Name & "'!E30"
                .Range("E32").Formula = "=E28+'" & Sheets(x - 1).Name & "'!E32"
                .Range("E36").Formula = "=E34+'" & Sheets(x - 1).Name & "'!E36"
                .Range("E38").Formula = "=E34+'" & Sheets(x - 1).Name & "'!E38"
                .Range("E42").Formula = "=E40+'" & Sheets(x - 1).Name & "'!E42"
                .Range("E44").Formula = "=E40+'" & Sheets(x - 1).Name & "'!E44"
                .Range("E48").Formula = "=E46+'" & Sheets(x - 1).Name & "'!E48"
                .Range("E50").Formula = "=E46+'" & Sheets(x - 1).Name & "'!E50"
               
                .Range("F30").Formula = "=F28+'" & Sheets(x - 1).Name & "'!F30"
                .Range("F32").Formula = "=F28+'" & Sheets(x - 1).Name & "'!F32"
                .Range("F36").Formula = "=F34+'" & Sheets(x - 1).Name & "'!F36"
                .Range("F38").Formula = "=F34+'" & Sheets(x - 1).Name & "'!F38"
                .Range("F42").Formula = "=F40+'" & Sheets(x - 1).Name & "'!F42"
                .Range("F44").Formula = "=F40+'" & Sheets(x - 1).Name & "'!F44"
                .Range("F48").Formula = "=F46+'" & Sheets(x - 1).Name & "'!F48"
                .Range("F50").Formula = "=F46+'" & Sheets(x - 1).Name & "'!F50"
,,,,,,,,,,
        End With
Next x
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-8-13 20:59 | 显示全部楼层
半百 发表于 2023-8-13 14:47
Sub 各种单耗()
Dim i&, x&
i = Sheets.Count '计算工作表数

老师,麻烦您帮忙看一下9楼怎么改
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-24 02:44 , Processed in 0.044795 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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