|
▼じん さん:
>そこで、仮にL列に360とはいっていたらI列には351-400という数字を入れたいのですが、なかなかうまくいきません。
>色々、調べてここまで書いたのですが、思った操作になりません。
具体的にどんなことが「思った操作」にならないのですか?
L列に連続してデータが入っているなら、
↓こう(配列内でI列用の文字列を作成)したほうが速いと思いますが。
Sub Try1()
Dim i As Long
Dim r As Range
Dim v
With ActiveSheet
Set r = Range("L3", .Cells(.Rows.Count, "L").End(xlUp)) 'L列データ範囲
v = r.Value
ReDim sa(1 To UBound(v), 0) As String
For i = 1 To UBound(v)
If Not IsEmpty(v(i, 1)) Then
Select Case v(i, 1)
Case Is >= 501: sa(i, 0) = "501 - "
Case Is >= 451: sa(i, 0) = "451 - 500"
Case Is >= 401: sa(i, 0) = "401 - 450"
Case Is >= 351: sa(i, 0) = "351 - 400"
Case Is >= 301: sa(i, 0) = "301 - 350"
Case Is >= 251: sa(i, 0) = "251 - 300"
Case Is >= 201: sa(i, 0) = "201 - 250"
Case Is >= 151: sa(i, 0) = "151 - 200"
Case Is >= 101: sa(i, 0) = "101 - 150"
Case Else: sa(i, 0) = " - 100"
End Select
End If
Next
.Range("I3").Resize(UBound(v)).Value = sa
End With
End Sub
|
|