Ale*_*ter 1 excel vba excel-vba
我已经整理了一个excel VBA宏,它循环遍历列I中所有使用过的单元格,并检查单元格的值是否与单词匹配.
如果单词是匹配的,我想在列B中的相邻单元格中设置1-5之间的随机数.
这是我到目前为止所拥有的:
Dim FLrange As Range
Dim AllStockLastRow As String
AllStockLastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1
Set FLrange = Range("I2:I" & AllStockLastRow)
For Each cell In FLrange
If cell.Value = "Shure" Then
Range("B2").Value = Int((5 - 1 + 1) * Rnd + 1)
Else
End If
Next cell
Run Code Online (Sandbox Code Playgroud)
显然,这段代码不起作用,因为它只会一遍又一遍地重置单元格B2的值.我不知道如何,但我希望代码检查I2的值,并设置B2的随机数值.然后检查I3的值,并设置B3等的随机数......
对不起,如果这里的措辞令人困惑.如果我知道这个术语,我可能会通过谷歌找到答案,而不必浪费你的时间:(
避免ActiveSheet完全限定您的参考资料:
Dim FLrange As Range
Dim AllStockLastRow As String
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1") 'your sheet name
With ws
AllStockLastRow =.Cells(.Rows.Count, "A").End(xlUp).Row + 1
Set FLrange = .Range("I2:I" & AllStockLastRow)
End With
For Each cell In FLrange
If cell.Value = "Shure" Then
ws.Range("B" & Cell.Row).Value = WorksheetFunction.Randbetween(1,5)
End If
Next cell
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |