Excel VBA代码,用于根据另一个单元格值清除一个单元格中的数据

时间:2017-07-20 21:37:02

标签: excel-vba vba excel

我自学成才,并且遇到一些我认为很容易的问题。我有一个电子表格,我需要循环通过列O并找到任何具有数据和单元格中相应单元格内容的单元格。扩展表单不断变化,因此最后一行数据总是在变化。下面是我一直在玩的代码,但似乎无法开始工作。任何帮助都会很棒......

    Dim deleterate As Long
    Dim ws As Worksheet

' set object
Set ws = Sheets("Import file")


' loop through the data to find the $$ amounts in column o

For deleterate = ws.Range("O" & Row.count).End(xlUp).Row To 1 Step -1

' indentify values in O which have value

If ws.Range("O" & deleterate).Value <> 0 Then
Cells(0, 7).ClearContents
End If

1 个答案:

答案 0 :(得分:0)

你不能有0行,所以你的行

Cells(0, 7).ClearContents

会出错。除非您知道要使用ActiveSheet,否则您还应该始终确定您所指的是哪个表格。

所以你应该使用

ws.Cells(deleterate, 8).ClearContents

指定正确的行和列(因为“H”是第8列,而不是第7列)甚至

ws.Cells(deleterate, "H").ClearContents

或者,为了与上一行(If语句)保持一致,您可以使用

ws.Range("H" & deleterate).ClearContents