ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求教

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-8-16 14:53 | 显示全部楼层 |阅读模式
请帮忙翻译此宏
Sub ribaobiao()
Worksheets("日报表").Range("a10", "l49") = ""
Worksheets("日报表").Cells(5, 1) = Worksheets("数据库").Cells(6, 2)
Worksheets("日报表").Cells(6, 2) = Worksheets("数据库").Cells(5, 2)
z = Worksheets("日报表").Cells(7, 2)
Worksheets("日报表").Cells(52, 2) = Worksheets("数据库").Cells(z + 7, 2)
Worksheets("日报表").Cells(55, 2) = Worksheets("数据库").Cells(z + 7, 3)

For q = 4 To 220 Step 4
If Worksheets("数据库").Cells(5, q) = "" Then
Exit For
End If
Worksheets("日报表").Cells(q / 4 + 9, 1) = q / 4
Worksheets("日报表").Cells(q / 4 + 9, 2) = Worksheets("数据库").Cells(5, q)
Worksheets("日报表").Cells(q / 4 + 9, 3) = Worksheets("数据库").Cells(6, q + 3)
Worksheets("日报表").Cells(q / 4 + 9, 4) = Worksheets("数据库").Cells(6, q + 1)
Worksheets("日报表").Cells(q / 4 + 9, 9) = Worksheets("数据库").Cells(z + 7, q)
Worksheets("日报表").Cells(q / 4 + 9, 10) = Worksheets("数据库").Cells(z + 7, q + 1)
Worksheets("日报表").Cells(q / 4 + 9, 11) = Worksheets("数据库").Cells(z + 7, q + 2)
Worksheets("日报表").Cells(q / 4 + 9, 12) = Worksheets("数据库").Cells(z + 7, q + 3)

x = 5

For e = q To q + 3

For w = 8 To 7 + z

  Worksheets("日报表").Cells(q / 4 + 9, x) = Worksheets("数据库").Cells(w, e) + Worksheets("日报表").Cells(q / 4 + 9, x)
Next w

x = x + 1
Next e

Next q

End Sub

TA的精华主题

TA的得分主题

发表于 2012-8-17 09:50 | 显示全部楼层
range(单元格地址)=...  设置单元格值
cells(行,列)=....  设置单元格值,如果是..=cells(..),是获取该单元格值
for...next  是程序循环控制

TA的精华主题

TA的得分主题

发表于 2012-8-19 16:49 | 显示全部楼层
本帖最后由 yiyiyicz 于 2012-8-19 17:01 编辑

问错地方了,最好发到VBA板块
Sub ribaobiao()
Worksheets("日报表").Range("a10", "l49") = ""  《日报表》中区域(A10:Ll49)赋值为空
Worksheets("日报表").Cells(5, 1) = Worksheets("数据库").Cells(6, 2)  《日报表》中单元格A5(即第5行第1列)赋值为《数据库》单元格B6的内容
Worksheets("日报表").Cells(6, 2) = Worksheets("数据库").Cells(5, 2)
z = Worksheets("日报表").Cells(7, 2)
Worksheets("日报表").Cells(52, 2) = Worksheets("数据库").Cells(z + 7, 2)
Worksheets("日报表").Cells(55, 2) = Worksheets("数据库").Cells(z + 7, 3)

For q = 4 To 220 Step 4    循环从4到220,间隔为4
If Worksheets("数据库").Cells(5, q) = "" Then  当《数据库》在第5行第q列(q为循环变量)单元格为空
Exit For  跳出循环变量为q的循环体,后面的语句不执行,包括那两个循环体
End If
Worksheets("日报表").Cells(q / 4 + 9, 1) = q / 4
Worksheets("日报表").Cells(q / 4 + 9, 2) = Worksheets("数据库").Cells(5, q)
Worksheets("日报表").Cells(q / 4 + 9, 3) = Worksheets("数据库").Cells(6, q + 3)
Worksheets("日报表").Cells(q / 4 + 9, 4) = Worksheets("数据库").Cells(6, q + 1)
Worksheets("日报表").Cells(q / 4 + 9, 9) = Worksheets("数据库").Cells(z + 7, q)
Worksheets("日报表").Cells(q / 4 + 9, 10) = Worksheets("数据库").Cells(z + 7, q + 1)
Worksheets("日报表").Cells(q / 4 + 9, 11) = Worksheets("数据库").Cells(z + 7, q + 2)
Worksheets("日报表").Cells(q / 4 + 9, 12) = Worksheets("数据库").Cells(z + 7, q + 3)

x = 5  为x设置初值

For e = q To q + 3  

For w = 8 To 7 + z

  Worksheets("日报表").Cells(q / 4 + 9, x) = Worksheets("数据库").Cells(w, e) + Worksheets("日报表").Cells(q / 4 + 9, x)
Next w

x = x + 1
Next e

Next q

End Sub

TA的精华主题

TA的得分主题

发表于 2012-8-21 11:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-28 07:16 , Processed in 0.044689 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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