帮忙解释一下excel表里一段宏的代码的意思。

代码如下,表是别人做的,我想修改这张表,所以我得先搞清楚这张表。答案好的我一定加分。谢谢! Private Sub CommandButton1_Click() Range("s1:AD39").Select Selection.ClearContents Dim pq Dim PR Dim pp Dim asd Dim bsd asd = Range("A39") + 4 bsd = Range("d39") + 4 PR = "b" & Range("A39") + 4 pp = "M" & Range("d39") + 4 pq = PR & ":" & pp Range(pq).Select Selection.Copy Range("S4").Select ActiveSheet.Paste Range("S40").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("T40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("U40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("V40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("W40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("X40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("Y40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("Z40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("AA40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("AB40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("AC40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" Range("AD40").Select ActiveCell.FormulaR1C1 = "=SUM(R[-36]C:R[-1]C)" '到此求各结束,开始拷 Sheets("统计").Select '以上都对 End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub

第1个回答  2019-09-15
Private
Sub
CommandButton1_Click()
Range("s1:AD39").Select
Selection.ClearContents
Dim
pq
'定义变量
Dim
PR
Dim
pp
Dim
asd
Dim
bsd
asd
=
Range("A39")
+
4
'给变量asd赋值为:A39单元格数值加4
bsd
=
Range("d39")
+
4
PR
=
"b"
&
Range("A39")
+
4
'将字符b,与A39格的值加4后的结果连在一块,成为一新的字符,&是连字符。
pp
=
"M"
&
Range("d39")
+
4
pq
=
PR
&
":"
&
pp
'将两个字符变量连在一起,做为一个引用地址。
Range(pq).Select
'选择pq表示的区域
Selection.Copy
'复制此区域
Range("S4").Select
ActiveSheet.Paste
'将上述区域内容粘贴到S4单元格起始的位置。
Range("S40").Select
Application.CutCopyMode
=
False
'取消复制状态
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
'在选中的单元格中输入公式,公式为SUM,起始地址为向上偏移36行,结束地址为向上偏移1行。
Range("T40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("U40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("V40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("W40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("X40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("Y40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("Z40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("AA40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("AB40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("AC40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
Range("AD40").Select
ActiveCell.FormulaR1C1
=
"=SUM(R[-36]C:R[-1]C)"
'到此求各结束,开始拷
Sheets("统计").Select
'以上都对
End
Sub
相似回答