使用vba IN EXCEL增加行和删除行

时间:2011-07-29 11:48:10

标签: vba excel-vba excel

                Range("H25")

上面的语句选择H列的第25行。现在我想知道的是, 如何增加H行的常量?  是的,我在google $ h24上看到了这些,其中列保持不变,行继续递增。

但我必须将它从H25增加到最后我不知道H列在哪里结束。我怎么做?我们可以使用VBA声明一个变量并递增它吗?

   I was thinkin to put it like these Range("Hvariablename")?

我需要做的实际任务是我必须检查从H25到最后的行并将它们的值输入我的VBA并制作一些calcutaions然后将它恢复到它们我坚持增加行。并且任何人都可以请让我知道从vba本身删除一行的宏吗?谢谢

2 个答案:

答案 0 :(得分:1)

Do While()循环听起来像你可能需要的那样。

Do While(cells(row,col)<>"")
      'Some code to be executed on cell(row,col)
Loop

或者你可以用for循环

做同样的事情

并使用lastRow=Cells("H24").End(xlDown).Row查找最后一个单元格。 (这与按Ctrl + Down是一样的。所以如果单元格H25和结尾之间有空单元格,则需要考虑到这一点。)

无论哪种方式,我都会考虑使用R1C1单元格参考样式来移动单元格而不是A1样式。移动字母列比编号列要困难得多。另外,您应该记住,Excel 2007中的“最后一行”是一个非常高的数字并且一直循环直到结束可能比循环直到最后一个重要单元格要花费更长的时间。

我希望这是正确的。

答案 1 :(得分:1)

我相信你可以提供一些关于这个范围看起来如何的更多细节。当你的意思是“必须检查从H25到最后的行和”这里的END是什么?

如果您手动复制公式,它将自动进入最后一行,其值为G列。这是您的情况吗?我不是假设第25行下面的H行已经有了一些值。是这种情况吗?

如果您使用G列中值的最后一行作为END,则可以使用Selection.AutoFill

如果您已经在H列中有值并想要浏览它们,您可以定义一个动态范围并在VBA中循环它。

定义动态范围:根据此公式添加新范围(显然,您可能需要根据需要调整它) =OFFSET(Sheet1!$H$25,0,0,COUNTA(Sheet1!$H:$H),1)

然后,在VBA中,完成它。

Sub TEST()

    Dim oCell As Excel.Range
    Dim oRange As Excel.Range

    Set oRange = [TestRange]

    For Each oCell In oRange

        Debug.Print oCell.VALUE

    Next oCell

End Sub

及时:要删除Excel中的整行,您将使用

Sheets(1).Rows(25).EntireRow.Delete