VBA搜索值并更改行+;2.
有人能帮我处理下面的vba吗?我试图实现的是在列中搜索文本字符串,如果它符合我的条件,则更改动态范围的格式。我很难弄清楚如何使这个范围充满活力。始终是与字符串+2匹配的行 以下是到目前为止我得到的信息:VBA搜索值并更改行+;2.,vba,excel,range,Vba,Excel,Range,有人能帮我处理下面的vba吗?我试图实现的是在列中搜索文本字符串,如果它符合我的条件,则更改动态范围的格式。我很难弄清楚如何使这个范围充满活力。始终是与字符串+2匹配的行 以下是到目前为止我得到的信息: Sub FormatPercentages() Dim RowToTest As Long For RowToTest = Cells(Rows.count, 27).End(xlUp).Row To 2 Step -1 With Cells(RowToTest, 27) If .
Sub FormatPercentages()
Dim RowToTest As Long
For RowToTest = Cells(Rows.count, 27).End(xlUp).Row To 2 Step -1
With Cells(RowToTest, 27)
If .Value Like "*Efficiency*" _
Then _
Range("AD129:AS131").NumberFormat = "0%"
End With
Next RowToTest
End Sub
我需要有关范围部分的帮助:范围(“AD129:AS131”)。NumberFormat=“0%”
我认为应该是这样的,尽管我知道它写得很糟糕(AD&“N”:&AD.xlToRight&“N”+2)。其中N是与字符串效率匹配的行号
谢谢,,
C这种混淆可能来自于
\uuu
的奇怪用法。它是这样工作的吗
Sub FormatPercentages()
Dim RowToTest As Long
For RowToTest = Cells(Rows.Count, 27).End(xlUp).Row To 2 Step -1
With Cells(RowToTest, 27)
If .Value Like "*Efficiency*" Then
Range("AD" & RowToTest & ":AD" & RowToTest + 2).NumberFormat = "0%"
End If
End With
Next RowToTest
End Sub
我没有测试它,但它看起来像您需要的,假设您的问题中的
N
是RowToTest可能是因为的奇怪用法引起了混淆。它是这样工作的吗
Sub FormatPercentages()
Dim RowToTest As Long
For RowToTest = Cells(Rows.Count, 27).End(xlUp).Row To 2 Step -1
With Cells(RowToTest, 27)
If .Value Like "*Efficiency*" Then
Range("AD" & RowToTest & ":AD" & RowToTest + 2).NumberFormat = "0%"
End If
End With
Next RowToTest
End Sub
我还没有测试它,但它看起来像您需要的,假设您的问题中的N
是RowToTest
请尝试Resize
属性:
Range("AD" & RowToTest).Resize(3, 1).NumberFormat = "0%"
或者
尝试调整大小
属性:
Range("AD" & RowToTest).Resize(3, 1).NumberFormat = "0%"
或者
要么像这样使用代码:
...
If .Value Like "*Efficiency*" Then
Range(Cells(RowToTest, 27), Cells(RowToTest, 27).End(xlToRight)).NumberFormat = "0%"
End If
...
或者,如果从第3行开始,则使用条件格式(您确实从第2行开始…)
条件格式也返回到没有“效率”的状态。。。(如果要使用区分大小写的搜索,请将SEARCH
替换为FIND
)按照以下方式使用代码:
...
If .Value Like "*Efficiency*" Then
Range(Cells(RowToTest, 27), Cells(RowToTest, 27).End(xlToRight)).NumberFormat = "0%"
End If
...
或者,如果从第3行开始,则使用条件格式(您确实从第2行开始…)
条件格式也返回到没有“效率”的状态。。。(如果要使用区分大小写的搜索,请将SEARCH
替换为FIND
)这正是我要查找的内容。你也烧得很快!非常感谢你,维迪亚塔!这正是我想要的。你也烧得很快!非常感谢你,维迪亚塔!