计算记录/行

时间:2018-02-16 17:26:28

标签: excel vba excel-vba count countif

我有一个宏将excel文件保存到.txt。我需要在.txt文件的顶部插入一个记录计数(“Records | 123”)。我插入了行,我在A1中有单词Records,现在我想弄清楚如何在B1中获取行数。我已经尝试过CountIf,LastRow,EndRow和现在的COUNT。我减去2,因为第1行是记录计数,第2行是列标题,我引用了列D,因为列A-C包含数字而且它也不喜欢。这就是我所拥有的:

Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Select
ActiveCell.FormulaR1C1 = "Records"
Range("B1").Select
ActiveCell.Value = (EndRow - 2)
ActiveCell.FormulaR1C1 = "=COUNT(D:D)"

这给了我记录| 0。有没有人对如何使这个工作有任何想法?或者你能指出我的不同方向吗?提前谢谢。

2 个答案:

答案 0 :(得分:3)

像这样。

Dim ws As Worksheet
Dim lr As Long

ws = ThisWorkbook.Sheets("Sheet1")
lr = ws.Cells(ws.Rows.Count, "D").End(xlUp).Row

With ws
    .Range("B1") = lr - 2
End with

答案 1 :(得分:0)

在插入标题行之前,您可能刚刚获得了行计数。

dim newvariable as long
newvariable = Thisworkbook.worksheets("yoursheet").UsedRange.Rows.Count

然后插入新的标题行并将该值放在单元格中,如:

Thisworkbook.worksheets("yoursheet").Range("a1").Value = newvariable