vba递增范围的行

时间:2011-07-15 20:14:37

标签: vba excel-vba excel

这应该是一个非常快速的问题。

有没有办法增加一个单元格的值。如何? 例如,我可以说像usedCell.Row = usedCell.Row + 1?

该特定格式不起作用,但还有另一种方法可以将行增加1吗?

4 个答案:

答案 0 :(得分:10)

我相信cell.Offset(1,0)正是您所寻找的。

答案 1 :(得分:5)

单元格的RowColumn属性(即Range)是只读的,因此您无法直接递增它们。

如果你想要移动A列中的单元格,那么iDevlop的答案就可以了。另一种方法是使用Cells对象的Worksheet方法。将单词“hello”写入第1行到第100行A列中每个单元格的示例代码:

Dim lRow As Long

For lRow = 1 To 100
    Worksheets("Sheet1").Cells(lRow, 1).Value = "hello"
Next lRow

正如您在示例中所看到的,Cells方法将行号作为第一个参数,列号作为第二个参数。

对于处理同一列中的单元格的简单情况,您还可以使用Range对象的Worksheet属性并构造实际地址 - 例如A39 - 每次:

Dim lRow As Long

For lRow = 1 To 100
    Worksheets("Sheet1").Range("A" & lRow).Value = "hello"
Next lRow

答案 2 :(得分:1)

您是否考虑过使用

Dim c as Range
For Each c in Range("a:a")
    ...
Next c

答案 3 :(得分:0)

您可能正在寻找

设置rng = rng.Resize(RowSize,ColumnSize)

具体而言

Dim rng_usedCells As Range

Set rng_usedCells = ActiveSheet.Range("A1:B10")

ActiveSheet.Range("D2").Value = rng_usedCells.Rows.Count
ActiveSheet.Range("E2").Value = rng_usedCells.Columns.Count

Set rng_usedCells = rng_usedCells.Resize(3, 4)

ActiveSheet.Range("D3").Value = rng_usedCells.Rows.Count
ActiveSheet.Range("E3").Value = rng_usedCells.Columns.Count

rng.Resize