1

我猜这很容易。我想遍历 VBA 中的命名范围,但我想跳过范围中的第一个单元格。任何人都可以帮忙吗?

(PS。我是 VBA 新手,不是受过训练的开发人员,并且自学。这个论坛非常有用。但如果你认为我在提问之前没有尝试找到解决方案,那你就错了。)

4

3 回答 3

2
dim i as long, r as range

set r = range("name")
for i = 2 to r.cells.count
  msgbox r.cells(i).value
next
于 2014-11-09T22:28:47.500 回答
2

这是另一种方式

Sub AllButFirst()

    Dim rCell As Range
    Dim rRng As Range

    Set rRng = Sheet1.Range("namedrange")

    For Each rCell In rRng.Offset(1, 0).Resize(rRng.Rows.Count - 1, rRng.Columns.Count).Cells
        rCell.Value = "testing"
    Next rCell

End Sub
于 2014-11-10T15:02:01.950 回答
2

@GSerg 确定了这一点,但是由于您有一个后续问题,即使用 执行此操作For each,因此这是一种方法:

first = True
For Each c In r.Cells
  If Not first Then
    c.Value = "Testing"
  End If
  first = False
Next
于 2014-11-09T23:28:45.403 回答