ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 哪位大神帮忙翻译下,下面代码的意思,非常感谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-9-19 11:13 | 显示全部楼层 |阅读模式
哪位大神帮忙翻译下,下面代码的意思,非常感谢!

Sub 班产统计表保存()
Worksheets("班产统计汇总表").Unprotect ("149") '解密  
Dim arr As Variant, rng As Range
Dim i, s, f As Integer
Set rng = Worksheets("班产统计汇总表").[b:b].Find([F3] + 1, , , xlWhole)
If rng Is Nothing Then
    With Sheets("班产统计表")
        If Range("c3") = "" Then
        MsgBox "请输入“领用日期”信息"
        GoTo aa
        End If
        If .[F3] = "" Then
            .[F3] = Now()
        End If
        s = .Columns(2).Cells(.Columns(2).Cells.Count).End(xlUp).Row
        arr = .Range("b5:g" & s).Value
    End With
    With Sheets("班产统计汇总表")
        .Columns(3).Cells(.Columns(3).Cells.Count).End(xlUp).Offset(1).Resize(UBound(arr), 5) = arr
        .Range(.Cells(.Columns(1).Cells(.Columns(1).Cells.Count).End(xlUp).Row + 1, 1), .Cells(.Columns(3).Cells(.Columns(3).Cells.Count).End(xlUp).Row, 1)) = Sheets("班产统计表").[C3]
        .Range(.Cells(.Columns(2).Cells(.Columns(2).Cells.Count).End(xlUp).Row + 1, 2), .Cells(.Columns(3).Cells(.Columns(3).Cells.Count).End(xlUp).Row, 2)) = Sheets("班产统计表").[F3]
    End With
    MsgBox "保存成功!"
    Union(Sheets("班产统计表").Range("c3"), Range("g3"), Range("e5", "h40")) = ""
End If
aa:
Worksheets("班产统计汇总表").Protect ("149") '加密
End Sub
Sub 班产统计表清空数据()
Union(Sheets("班产统计表").Range("c3"), Range("g3"), Range("e5", "h40")) = ""
End Sub





TA的精华主题

TA的得分主题

发表于 2018-9-19 11:23 | 显示全部楼层
估计没几个人有兴趣干这个苦力活的。
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2018-9-19 11:35 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2018-9-19 11:52 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-19 14:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
chxw68 发表于 2018-9-19 11:23
估计没几个人有兴趣干这个苦力活的。

没办法呀,自己不太懂,只能靠各位兄弟帮忙了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-19 14:19 | 显示全部楼层
朱荣兴 发表于 2018-9-19 11:35
注释代码就如给小学生讲高等数学

这个的确是,隔行如隔山,对我来说,那就象是天书一样。

TA的精华主题

TA的得分主题

发表于 2018-9-19 14:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
坛里一位朋友的作品,请参考! VBA程序解释器_进化_5.rar (104.52 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-19 16:26 | 显示全部楼层
a18b88 发表于 2018-9-19 14:28
坛里一位朋友的作品,请参考!

这个我用过了,但是显示翻译时,就报警了,报警信息为:编译错误“找不到工程和库”

TA的精华主题

TA的得分主题

发表于 2018-9-19 16:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
樱果 发表于 2018-9-19 14:18
没办法呀,自己不太懂,只能靠各位兄弟帮忙了

一个百度,一个F1键,可能要多问问这两位老师!

TA的精华主题

TA的得分主题

发表于 2018-9-19 18:40 | 显示全部楼层
Sub 班产统计表保存()    '子程序 班产统计表保存()
Worksheets("班产统计汇总表").Unprotect ("149") '解密      '<工作表>("班产统计汇总表" )的取消保护("149")'解密
Dim arr As Variant, rng As Range    '定义变量 arr 为 变量,rng 为 单元格区域
Dim i, s, f As Integer    '定义变量 i,s,f 为 整型值
Set rng = Worksheets("班产统计汇总表").[b:b].Find([F3] + 1, , , xlWhole)    '设定rng=<工作表>("班产统计汇总表" )的[b :b]的<查找>([F3]+1,,,全部)
If rng Is Nothing Then    '如果 rng 是 空值 则执行
        With Sheets("班产统计表")    '工作于<工作表>("班产统计表")
                If Range("c3") = "" Then    '如果 <单元格>区域("c3")=空值 则执行
                        MsgBox "请输入“领用日期”信息"    '<消息框>:"请输入“领用日期”信息"
                        GoTo aa    ' 跳至 aa
                End If    'If判断过程结束
                If .[F3] = "" Then    '如果 <With对象>的[F3]=空值 则执行
                        .[F3] = Now()    '<With对象>的[F3]=Now()
                End If    'If判断过程结束
                s = .Columns(2).Cells(.Columns(2).Cells.Count).End(xlUp).Row    's=<With对象>的<列>坐标(2 )的<单元格>坐标(<With对象>的<列>坐标(2 )的单元格集合的计数值 )的<末端>(方向向上 )的行标
                arr = .Range("b5:g" & s).Value    'arr=<With对象>的<单元格>区域("b5:g" & s )的值
        End With    'With语句结束
        With Sheets("班产统计汇总表")    '工作于<工作表>("班产统计汇总表")
                .Columns(3).Cells(.Columns(3).Cells.Count).End(xlUp).Offset(1).Resize(UBound(arr), 5) = arr    '<With对象>的<列>坐标(3 )的<单元格>坐标(<With对象>的<列>坐标(3 )的单元格集合的计数值 )的<末端>(方向向上 )的<偏移>(1 )的<重调大小>(<数组上限>(arr),5)=arr
                .Range(.Cells(.Columns(1).Cells(.Columns(1).Cells.Count).End(xlUp).Row + 1, 1), .Cells(.Columns(3).Cells(.Columns(3).Cells.Count).End(xlUp).Row, 1)) = Sheets("班产统计表").[C3]    '<With对象>的<单元格>区域(<With对象>的<单元格>坐标(<With对象>的<列>坐标(1 )的<单元格>坐标(<With对象>的<列>坐标(1 )的单元格集合的计数值 )的<末端>(方向向上 )的行标+1,1),<With对象>的<单元格>坐标(<With对象>的<列>坐标(3 )的<单元格>坐标(<With对象>的<列>坐标(3 )的单元格集合的计数值 )的<末端>(方向向上 )的行标,1))=<工作表>("班产统计表" )的[C3]
                .Range(.Cells(.Columns(2).Cells(.Columns(2).Cells.Count).End(xlUp).Row + 1, 2), .Cells(.Columns(3).Cells(.Columns(3).Cells.Count).End(xlUp).Row, 2)) = Sheets("班产统计表").[F3]    '<With对象>的<单元格>区域(<With对象>的<单元格>坐标(<With对象>的<列>坐标(2 )的<单元格>坐标(<With对象>的<列>坐标(2 )的单元格集合的计数值 )的<末端>(方向向上 )的行标+1,2),<With对象>的<单元格>坐标(<With对象>的<列>坐标(3 )的<单元格>坐标(<With对象>的<列>坐标(3 )的单元格集合的计数值 )的<末端>(方向向上 )的行标,2))=<工作表>("班产统计表" )的[F3]
        End With    'With语句结束
        MsgBox "保存成功!"    '<消息框>:"保存成功!"
        Union(Sheets("班产统计表").Range("c3"), Range("g3"), Range("e5", "h40")) = ""    'Union(<工作表>("班产统计表" )的<单元格>区域("c3"),<单元格>区域("g3"),<单元格>区域("e5","h40"))=空值
End If    'If判断过程结束
aa:    'aa:
Worksheets("班产统计汇总表").Protect ("149") '加密    '<工作表>("班产统计汇总表" )的保护("149")'加密
End Sub    '子程序结束
这是注释后的代码:
Sub 班产统计表清空数据()    '子程序 班产统计表清空数据()
Union(Sheets("班产统计表").Range("c3"), Range("g3"), Range("e5", "h40")) = ""    'Union(<工作表>("班产统计表" )的<单元格>区域("c3"),<单元格>区域("g3"),<单元格>区域("e5","h40"))=空值
End Sub    '子程序结束
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-15 21:59 , Processed in 0.025182 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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