[[20071104051820]] 『VBA:飛び飛びのセルにデータを入力する方法』(masabou5) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA:飛び飛びのセルにデータを入力する方法』(masabou5)

 A1のデータを、D1、D6、D11、・・・のように規則性を持ったセルに書き込むにはどのようにすればいいのでしょうか?
 連続ならば、for each 〜next で出来るのでしょうが、飛び飛びの場合が分かりません。
 ご教授お願いします。

 規則性が単に5行飛びというのであれば、汎用性はないですがこんなんでいいかなと。
 For i=1 To 11 Step 5
     Cells(i,"D").Value = Range("A1").Value
 Next i
 (やっちん)

 やっちんさん、ありがとうございました。
 もう一つよろしいでしょうか。
 D1に何かデータが入っていたら、D6に入れる。又、D6にも何かデータがあれば、
 D11に入れる、という風にしたいのですが、どのようにしたらよろしいでしょうか?
 たびたびすみません。よろしくお願いします。(masabou5)

 難しいことを考えなければ、上から順に見ていって空いてたら入れて終了です。
 For i=1 To 11 Step 5
     If Cells(i,"D").Value = "" Then
         Cells(i,"D").Value = Range("A1").Value
         Exit For
     End If
 Next i
 (やっちん)

 やっちんさん、たびたびありがとうございました。
 うまく実現することが出来ました。
 御礼申し上げます。(masabou5)


 ご参考までに。
 本来の仕様が
 1回目の設定をD1
 2回目の設定をD6
 3回目の設定をD11
     ・
     ・
     ・
 という場合は、n回目のnを例えば「ワーク」という名前のシートのA1へ入れるとすると
 最初に「ワーク」のA1に0を設定してから下のコードを動かします。

     i = Sheets("ワーク").Range("A1").Value + 1
     Sheets("ワーク").Range("A1").Value = i
     Cells(1 + (i - 1) * 5,"D").Value = Range("A1").Value

 データが多くなった場合に無駄な検索を行わなくて済みます。

 (やっちん)

 やっちんさん、またまたありがとうございました。
 とても参考になりました。
 御礼申し上げます。(masabou5)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.