查找每个使用的列的平方和

时间:2018-08-01 13:15:59

标签: vba excel-vba

我是新手。我想对活动列中数字的平方求和。我收到一个错误“对象不支持此方法”。这是我的代码

rows

感谢帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

正如已经指出的那样,您使用的xlDown语法不正确。 您还应该从底部开始向上移动-xlDown可能找不到最后一个单元格。

例如

  • 使用单元格A1:A3A1中的值作为ActiveCell,它将正确返回A3
  • 相同的情况,但A4留空并且A5中的值仍返回A3
  • A1留空的相同场景将返回A2

这将从ActiveCell返回对该列中包含值的最后一个单元格的引用。
请注意,如果ActiveCell低于包含数据的最后一个单元格,您将获得一个反映该信息的参考。

Set d = Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(xlUp))  

Range可以由一个或多个单元格引用组成:

  • Range("A1")Range("A1,A3,C5")引用单个单元格。
  • Range("A1:C5")Range("A1", "C5")引用第一个和最后一个地址之间的所有单元格。

Cell是使用行和列标识符的单个单元格引用。

  • Cells("A1")将返回错误,因为它是完整地址。
  • Cells(1,"A")将返回A1(第1行,A列)
  • Cells(1,1)还将返回A1(第1行,第1列)

上面的代码使用两个单元格地址来引用两个单元格之间的所有单元格。

  • Range(ActiveCell,....)是对第一个单元格的引用。
  • Cells(Rows.Count, ActiveCell.Column)是使用行号和列号的第二个单元格的引用。
    如果ActiveCell在B列中,则与编写Cells(1048573,2)相同。
    然后End(xlUp)从该单元格返回到包含数据的第一个单元格。

答案 1 :(得分:0)

您的代码中存在语法错误-.endxldown,并在分配范围之前添加Set

将其更正为- Set d = Range(ActiveCell, ActiveCell.End(xlDown)