我需要获得一个VBA代码才能获得以下标准。
如果B1到B500范围内的任何单元格包含" TOTAL:",则将列V中的相同行值除以列P中的相同行值,其中" TOTAL:"文字存在。
答案应该在同一行M列中。
我尝试开发这样的代码:
Sub test()
Dim r As Range
For Each r In Range("B1", Range("B" & Rows.Count).End(xlUp))
If r.Value Like "TOTAL:" Then
With Range("M1:M10")
r.Formula = "=V5/P1"
End With
End If
Next
End Sub
答案 0 :(得分:1)
如果您想学习VBA,我建议您通过搜索“循环范围”和“比较字符串”等来自行解决这些问题。从长远来看,这对你来说更有价值。
无论如何,现在你可以试试这个。请注意,它不提供任何错误处理等...
搜索范围:
For row = 1 To Cells(ws.Rows.Count, "B").End(xlUp).row
循环遍历从1到最后一行的行,并在B列中显示一个值。如果由于某种原因,您想要排除最后一行并在最后一行停止,则只需减去{ {1}}来自它。如果您真的想要固定范围,请将整个内容更改为1
。
For row = 1 To 500