所以我在每个循环中使用a来遍历一堆行.我遇到了一个问题,我正在删除行,它导致一行被跳过,所以我已经改为do while循环.
我遇到的问题是试图获得一个"细胞"对象.之前我有:
For Each C In Worksheets("Blah").Range("A2:A" & lastRow).Cells
Run Code Online (Sandbox Code Playgroud)
我可以做的事情
C.Offset(1, 0)
C.Value = "Troy"
Run Code Online (Sandbox Code Playgroud)
等我试过用:
C = Worksheets("Blah").Cells(iRow, 2)
Run Code Online (Sandbox Code Playgroud)
但这只是给了C单元格的值.我如何获得实际的细胞对象?
谢谢
Dic*_*ika 18
删除行时,最好从下往上.您的特定问题是您需要Set关键字将C设置为范围对象,而不是将"Let"C设置为范围Value.Range有一个默认属性Value,当你省略属性时使用的属性.因此,在分配对象变量时必须使用Set.这是一个向后循环以删除行和分配对象变量的示例.
Sub DeleteRows()
Dim i As Long
Dim rRng As Range
Dim rCell As Range
Set rRng = Sheet1.Range("A1:A9")
For i = rRng.Rows.Count To 1 Step -1
Set rCell = rRng.Cells(i, 1)
If rCell.Value Mod 2 = 1 Then
rCell.EntireRow.Delete
End If
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55561 次 |
| 最近记录: |