Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7617 / 76736 ←次へ | 前へ→

【74705】Re:アプリケーション定義またはオブジェクト定義のエラーとでてしまいます
発言  Yuki  - 13/9/1(日) 10:10 -

引用なし
パスワード
   ▼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 で処理するとこんな感じですか?

0 hits

【74704】アプリケーション定義またはオブジェクト定義のエラーとでてしまいます KK 13/9/1(日) 1:40 質問
【74705】Re:アプリケーション定義またはオブジェク... Yuki 13/9/1(日) 10:10 発言
【74707】Re:アプリケーション定義またはオブジェク... KK 13/9/1(日) 11:07 お礼
【74706】Re:アプリケーション定義またはオブジェク... kanabun 13/9/1(日) 10:19 発言
【74708】Re:アプリケーション定義またはオブジェク... KK 13/9/1(日) 11:20 お礼
【74709】Re:アプリケーション定義またはオブジェク... kanabun 13/9/1(日) 11:31 発言
【74710】Re:アプリケーション定義またはオブジェク... KK 13/9/1(日) 12:56 お礼

7617 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free