這聽起來像是有史以來最簡單的事情,但我在這里。
我有一個包含正數和負數的列。我正在嘗試撰寫一個代碼,根據單元格的值在 B 列(或 C 或 D,無關緊要)中列印“P”或“N”。
例如,如果單元格 A2 的值為 -32,則應為單元格 B2 分配字串“N”。然后是 A3/B3、A4/B4,依此類推。
我的問題不在于 if-then-else 陳述句本身,而是我如何才能將輸出列印到我想要??的位置。
Sub Negatives()
value = Range("A:A")
If Sgn(value) < 0 Then
//??? N
ElseIf Sgn(value) >= 0 Then
//??? P
End If
End Sub
我是否應該使用 for 回圈來遍歷列中的每個值?
uj5u.com熱心網友回復:
簡短的回答是。您可以構建一個陣列并一次性將其全部標記,但這仍然需要一個回圈來對每個單元格值做出決定。
我建議:
Sub Negatives()
Dim numberRange As Range
Set numberRange = ThisWorkbook.Sheets("Sheet1").UsedRange.Columns("A")
For Each cell In numberRange.Cells
If cell.Value < 0 Then
cell.Offset(0, 1).Value = "N"
ElseIf cell.Value >= 0 Then
cell.Offset(0, 1).Value = "P"
End If
Next
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/536511.html
標籤:擅长VBA循环if语句
上一篇:Vba二維陣列根據陣列索引排序