返回列表 上一主題 發帖

[發問] IF 多條件判斷如何改為陣列執行|

回復 1# starry1314


    你要的陣列模式這這樣嗎?
  1. Sub 代號替換()
  2. Dim Arr(1 To 49999, 1 To 1)
  3. For I = 2 To 50000
  4. Ν = Range("d" & I)
  5. If Ν <> "L" And Ν <> "P" And Ν <> "T" And Ν <> "Q" And Ν <> "I" Then
  6.     Arr(I - 1, 1) = "A"
  7. Else
  8.     Arr(I - 1, 1) = Range("d" & I)
  9. End If
  10. Next
  11. [d2].Resize(UBound(Arr)) = Arr
  12. End Sub
複製代碼

TOP

回復 1# starry1314

這樣也行
  1. Sub 代號替換1()
  2. Dim Rng As Range
  3. Dim arr
  4. ro = Cells(Rows.Count, 4).End(xlUp).Row
  5. ReDim arr(1 To ro, 1 To 1)
  6. For Each Rng In Range("d2:D" & ro)
  7. i = i + 1
  8. Ν = Rng.Value
  9. If Ν <> "L" And Ν <> "P" And Ν <> "T" And Ν <> "Q" And Ν <> "I" Then
  10.     arr(i, 1) = "A"
  11. Else
  12.     arr(i, 1) = Rng.Value
  13. End If
  14. Next
  15. [d2].Resize(UBound(arr)) = arr
  16. End Sub
複製代碼

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題