循环计数行并将行计数粘贴到特定单元格
Loop through counting rows and paste row count to a specific cell
我选择了具有动态列数的数据,每列下都有一个动态值列表。
我想遍历每一列并计算减去两个 header 字段的项目数,并将其作为一个值放在特定位置。
所以我有两行 headers,然后是空白行,然后是数据。
Private Sub Worksheet_Activate()
Dim LastCol As Integer
Dim I As Long
Dim RC As Long
With ActiveSheet
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
End With
For I = 1 To LastCol
RC = Range("I:I" & Rows.Count).End(xlUp).Row
Cells(3, I).Value = RC
Next I
End Sub
我知道问题出在循环部分,但我不知道如何调用数字格式的行。
这是做什么的:
如果我正确理解了这个问题。这将跳过两个 header 行,并计算以查看每一列中有多少行有数据。然后将计数放在每列的第三行。
您遇到了一些问题:
最好始终使用“.”访问属性。比如,LastCol = .Cells.
您过早结束了 With 语句。
如果您使用变量遍历列,则应使用 .Cells 而不是 Range,并使用列号而不是 Letters。
您应该为循环和行计数使用 Long 类型变量而不是 Integer。
您可能希望将这段代码放在一个模块中,然后从工作表激活事件中调用它。这样,如果您需要更新计数,您可以通过按钮或任何其他时间调用它。
计数应 = RC - 3 以说明 header 行。
工作表代码中:
Private Sub Worksheet_Activate()
Call CountColumnRows
End Sub
然后在模块中放置: 允许您随时从任何来源调用它。
Sub CountColumnRows()
Dim LastCol As Long, I As Long, RC As Long
With ActiveSheet
LastCol = .Cells(2, Columns.count).End(xlToLeft).column
For I = 1 To LastCol
RC = .Cells(Rows.count, I).End(xlUp).row 'I as variable column Number
.Cells(3, I).Value = RC - 3 'Compensate for the headers and Count Row
Next I
End With
End Sub
我选择了具有动态列数的数据,每列下都有一个动态值列表。
我想遍历每一列并计算减去两个 header 字段的项目数,并将其作为一个值放在特定位置。
所以我有两行 headers,然后是空白行,然后是数据。
Private Sub Worksheet_Activate()
Dim LastCol As Integer
Dim I As Long
Dim RC As Long
With ActiveSheet
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
End With
For I = 1 To LastCol
RC = Range("I:I" & Rows.Count).End(xlUp).Row
Cells(3, I).Value = RC
Next I
End Sub
我知道问题出在循环部分,但我不知道如何调用数字格式的行。
这是做什么的: 如果我正确理解了这个问题。这将跳过两个 header 行,并计算以查看每一列中有多少行有数据。然后将计数放在每列的第三行。
您遇到了一些问题:
最好始终使用“.”访问属性。比如,LastCol = .Cells.
您过早结束了 With 语句。
如果您使用变量遍历列,则应使用 .Cells 而不是 Range,并使用列号而不是 Letters。
您应该为循环和行计数使用 Long 类型变量而不是 Integer。
您可能希望将这段代码放在一个模块中,然后从工作表激活事件中调用它。这样,如果您需要更新计数,您可以通过按钮或任何其他时间调用它。
计数应 = RC - 3 以说明 header 行。
工作表代码中:
Private Sub Worksheet_Activate()
Call CountColumnRows
End Sub
然后在模块中放置: 允许您随时从任何来源调用它。
Sub CountColumnRows()
Dim LastCol As Long, I As Long, RC As Long
With ActiveSheet
LastCol = .Cells(2, Columns.count).End(xlToLeft).column
For I = 1 To LastCol
RC = .Cells(Rows.count, I).End(xlUp).row 'I as variable column Number
.Cells(3, I).Value = RC - 3 'Compensate for the headers and Count Row
Next I
End With
End Sub