|
▼KK さん:
こんにちは。
>I列を検索していき
>数値が入っていなければ
>1から順にS列に番号を振っていき
>endが入ってるセルまでそれを続ける
>
>という内容で組もうと思ったのですが
>下記の通りに作ってみたのですが
>とちゅうでアプリケーション定義またはオブジェクト定義のエラーと表示され
>1行目に1が入ったところで止まります
>
>Sub 番号振り()
> Range("I2").Select
> Do Until ActiveCell.Value = "end"
> If IsNumeric(ActiveCell.Value) Then
> Dim K As Integer
> For K = 1 To 1000
> ActiveCell.Offset(0, 10).Value = K
此処でエラー ↓ 列が 9 なのに -10 しているからエラー
> ActiveCell.Offset(0, -10).Select
> Next K
> End If
> ActiveCell.Offset(1, 0).Select
> Loop
>End Sub
ところで
Dim K As Integer
For K = 1 To 1000
ActiveCell.Offset(0, 10).Value = K
ActiveCell.Offset(0, -10).Select
Next K
は何のためにするのですか?
I列が数値でなかったらS列に連番をとは全然違いますが。
Sub 番号振りA()
Dim K As Long
Dim i As Long
i = 2
' end があるまで Loop
Do Until Cells(i, 9).Value = "end"
' 数値でなかったら
If Not IsNumeric(Cells(i, 9).Value) Then
K = K + 1
' S 列に連番を入れる
Cells(i, 9).Offset(0, 10).Value = K
End If
i = i + 1
Loop
End Sub
Do Loop で処理するとこんな感じですか?
|
|