计算相邻列的最后一行时出错

时间:2019-03-06 18:47:02

标签: excel vba

我正在VBA中使用以下代码来填写单元格Y3:AB3中的公式,直到X列的最后一行,但是excel会填写公式,直到最后一行加上另外3000行。我已经用不同的文件和数据集测试了此公式,但是得到了相同的错误。请您指教。

谢谢, R

Sheets("CJI Data").Select
Dim LastRow As Long
Dim Sht As Worksheet
Set Sht = ActiveWorkbook.Sheets("CJI Data")
LastRow = Sht.Range("X3").CurrentRegion.Rows.Count
Range("Y3:AB3" & LastRow).FillDown
Range("A2:AB2").Select

2 个答案:

答案 0 :(得分:2)

您不应该拥有AB3,只有ABRange引用应包括第一行和最后一行。您将在最后一个行号之前添加另外3个,这将导致额外的3000行。

Range("Y3:AB" & LastRow).FillDown

另外,正如@JohnColeman所指出的那样,使用CurrentRegion.Rows并不是获得最后一行的万无一失的方法。如果您的数据不在第1行开始,则可能会产生意外的结果。

您可以使用End(xlUp)(也由@Darrell H建议):

With Sht
    LastRow = .Cells(.Rows.Count, "X").End(xlup).Row
End With

答案 1 :(得分:0)

您可以尝试:

#include <iostream>
#include <string>

int main()
{
    std::string str;
    std::cout << "Please enter your full name > ";
    std::getline(std::cin, str);
    std::cout << "Hello " << str << std::endl;
    return 0;
}

我希望这会有所帮助!