如果那么VBA MACRO - 如果另一列的内容= 100%则更新一列

时间:2015-06-14 07:03:14

标签: excel vba excel-vba

我有一张工作簿"结果"作为第3页,这是我想要使用的工作表。

我尝试了一些公式来尝试添加一个宏来执行以下操作:

我有G栏的百分比。然后,我有第一列,我希望在那里得到一个结果,说明为真或假,其中G的内容等于100%。 G列格式化为两位小数的百分比。

一些注意事项:我的第一行是另一张表的超级链接,然后是我的标题,然后是第一行"结果"。我有457行,如果有一个范围的测量,也许它可能在A?

我一直在用我的范围得到这个错误9并且有点卡住了。

提前致谢!

Sub PartialHits1() 
Dim rng As Range 
Dim lastRow As Long 
Dim cell As Range 

With Sheet3 
    lastRow = .Range("G" & .Rows.Count).End(xlUp).Row 
    Set rng = .Range("G1:G" & lastRow) 
    For Each cell In rng 
        If cell.Value = 100 
        Then 
            cell.Range("I1:I1").Value = 100 
        End If 
    Next 
End With 

End Sub 

(我已经破解了这一点,只是试图让它设置为100而不是TRUE / FALSE当我遇到错误时,还在Sheet 3部分附近玩游戏。)

1 个答案:

答案 0 :(得分:0)

RangeVariable.Range只能引用RangeVariable中的单元格,因此您无法以这种方式引用第I列。尝试:.Range("I"&cell.row)=100

此外,您的标准可能有误,如果您在单元格中有100%的实际值为1。

最后一个问题:为什么要用VBA执行此操作,使用工作表函数=IF(G3=1,100,"")

会更简单