VBA代码求注释

2025-03-01 06:41:14
推荐回答(2个)
回答1:

Dim RS As Integer ''''''定义 rs,cs,t,i,j,c
Dim CS As Integer
Dim T As Integer
Dim i As Integer
Dim j As Integer
Dim c As Integer
T = 0 '''''T赋初值0
c = 2 '''''C赋初值2

Range("F:F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete '''''''''''删除F列的空单元格,,其实我对这段代码不太熟悉。大致意思

'delete blank row from sheet

RS = ActiveWorkbook.Worksheets(2).Range("A65536").End(xlUp).Row ''''''rs=表2的第A列的最后一个非空单元格

For i = 2 To RS ''''''定义循环变量,i=2 到 rs 一直执行for next 中间的代码直到i>rs

c = T + c

T = Range("F" & c) ''''''t=单元格F&C,其中C为变量,即F2 到F&RS

If T <> 1 Or 0 Then

For j = 2 To T ''''''定义循环变量,j=2 到t 一直执行for next 中间的代码直到i>t

Rows(c + j - 2).Select ''''选中,c+j-2行
Selection.Copy ''''选中部分复制
Rows(c + j - 1).Select ''''选中,c+j-1行
Selection.Insert Shift:=xlDown '''''在选中行插入一列,以下单元格下移
Range("g" & c + j - 1) = Range("g" & c + j - 2) + 1 '''''给单元格g&c+j-1赋值等于单元格g&c+j-2的值+1
Next j '''''''循环执行j

End If ''''''''退出条件

Next i '''''''循环执行i
'main program for tear down

CS = ActiveWorkbook.Worksheets(2).Range("A65536").End(xlUp).Row '''cs等于活动工作薄,即当前工作薄的表2的A列最后一个非空单元格

For k = 2 To CS ''''''定义循环变量,k=2 到cs

Range("F" & k) = 1 ''''''单元格f&k的值为1

Next k '''''''循环执行K

回答2:

  Dim RS As Integer '定义变量 RS 为 整型值
  Dim CS As Integer '定义变量 CS 为 整型值
  Dim T As Integer '定义变量 T 为 整型值
  Dim i As Integer '定义变量 i 为 整型值
  Dim j As Integer '定义变量 j 为 整型值
  Dim c As Integer '定义变量 c 为 整型值
  T = 0 'T=0
  c = 2 'c=2
  '
  Range("F:F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete '单元格区域("F:F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  '
  'delete blank row from sheet
  '
  RS = ActiveWorkbook.Worksheets(2).Range("A65536").End(xlUp).Row 'RS=ActiveWorkbook.Worksheets(2).Range("A65536").End(方向向上).Row
  '
  For i = 2 To RS '设定变量范围为i=2到RS
  '
  c = T + c 'c=T+c
  '
  T = Range("F" & c) 'T=单元格区域("F" & c)
  '
  If T <> 1 Or 0 Then '如果 T<>1或者0 则执行
  '
  For j = 2 To T '设定变量范围为j=2到T
  '
  Rows(c + j - 2).Select '行数(c+j-2).Select
  Selection.Copy 'Selection.Copy
  Rows(c + j - 1).Select '行数(c+j-1).Select
  Selection.Insert Shift:=xlDown 'Selection.Insert变换:=方向向下
  Range("g" & c + j - 1) = Range("g" & c + j - 2) + 1 '单元格区域("g" & c+j-1)=单元格区域("g" & c+j-2)+1
  Next j '下一个j
  '
  End If 'End如果
  '
  Next i '下一个i
  'main program for tear down
  '
  CS = ActiveWorkbook.Worksheets(2).Range("A65536").End(xlUp).Row 'CS=ActiveWorkbook.Worksheets(2).Range("A65536").End(方向向上).Row
  '
  For k = 2 To CS '设定变量范围为k=2到CS
  '
  Range("F" & k) = 1 '单元格区域("F" & k)=1
  '
  Next k '下一个k