麻烦大家帮我“翻译”一下Excel中的这些VBA是什么意思?

代码的意思很简单,首先要确定的是S2的值是多少,(举例说是10.)

就是把表里1-28行复制贴到到A31以下,且如此每隔31行粘贴1次,共粘贴10(s2的值)次.

然后把这些粘贴了1-28行的内容(A-0栏),10次的话就是A1:O340设定为打印范围.

Private Sub Workbook_Open() 打开工作表就执行下面代码.

Dim i As Long 定义i为长整型数字

Dim times As Long 定义times为长整型数字

Dim j As Long 定义j为长整型数字

times = Range("S2") 将S2储存格的值赋给times

j = times * 31 + 30 将times的值乘以31再加30赋给j

Rows("31:2000").Select 将活动表的第31-2000行整行选取

Selection.Delete Shift:=xlUp 将选取的行删除.

Rows("1:28").Select 将活动表的第1-28行整行选取

Application.CutCopyMode = False 不显示剪切或复制的样式.

Selection.Copy 选取的行(第1-28行)复制

For i = 1 To times 定义times个循环,且循环开始,以下为循环执行的内容

ActiveWindow.SmallScroll down:=i * 31 窗口以31行的速度向下滚动

Range("A" & i * 31).Select 选取储存格也以31个间隔单位向下选取(第一次选取A31).

ActiveSheet.Paste 在选取的储存格执行粘贴(粘贴第1-28行的内容)

Worksheets("sheet1").Range("M" & (i * 30 + 2 + i)).Value =

Application.WorksheetFunction.RoundUp((10 + i) / 3, 0) & "0" & ((i Mod 3) + 1) 表sheet1从第M33起向下每隔31行输入 402,403,501,502,503,601...这样,0前面的数字每3行增大1,后面数字由1-3循环.

Next i 此处为循环结束标记.以上循环执行够times此后结束.

Set myrange2 = Range("A1:O" & j & "") 把"A1:O" & j定义给一个范围myrange2

myrange2.Select 选择这个范围("A1:O" & j )

ActiveSheet.PageSetup.PrintArea = "$A$1:$O$" & j & "" 将这个范围设定为打印范围.

End Sub 代码执行完毕.到此结束.

摘要

名词:(摘录下来的要点) summary; abstract; remark; tabloid

动词:(摘录要点) make a summary; make an abstract

First, we have this roundup of the day's news.

首先来看今天的新闻摘要。

The material below is a distillation of his work.

下面的材料是他工作的摘要。

Viewers saw him anchoring a five-minute summary of regional news.

观众看见他主持一个5分钟的地方新闻摘要节目。

本文来自作者[恨蓉]投稿,不代表泰博号立场,如若转载,请注明出处:https://www.staplesadv.cn/ds/21978.html

(15)
恨蓉的头像恨蓉签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 恨蓉的头像
    恨蓉 2025年08月30日

    我是泰博号的签约作者“恨蓉”

  • 恨蓉
    恨蓉 2025年08月30日

    本文概览:代码的意思很简单,首先要确定的是S2的值是多少,(举例说是10.)就是把表里1-28行复制贴到到A31以下,且如此每隔31行粘贴1次,共粘贴10(s2的值)次.然后把这些粘贴了...

  • 恨蓉
    用户083004 2025年08月30日

    文章不错《麻烦大家帮我“翻译”一下Excel中的这些VBA是什么意思?》内容很有帮助

联系我们

邮件:泰博号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信