|    | 
     ▼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 で処理するとこんな感じですか? 
 | 
     
    
   |