[[20200805172337]] 『VBA 転記で途中から上書きを繰り返したい』(かかお) ページの最後に飛ぶ

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

 

『VBA 転記で途中から上書きを繰り返したい』(かかお)

VBAで、登録した情報を別シートの一覧表に転記していき、一行目から順に10個転記したら11個目からはまた一行目へ戻り上書きしていくものを作りたいです。

※表が2行目から始まるのでiの初期値は2にしています。

Dim i

 For i = 2 To 11

   If Sheets("表").Range("A" & i).Value = "" Then

      Sheets("表").Range("A" & i).Value = Sheets("入力").Range("C2").Value
      Sheets("表").Range("B" & i).Value = Sheets("入力").Range("C3").Value 
      Sheets("表").Range("C" & i).Value =  Sheets("入力").Range("C4").Value

      Exit For
 End If
 Next i

< 使用 Excel:Excel2010、使用 OS:Windows10 >


ループさせるなら、代入先セルは空欄とは限らなくなるので、どこかのセルに、今何行目なのかをセットしておいては?
((i + 1) Mod 10、等、代入したらModで余りを求めながらカウントアップ)
(???) 2020/08/05(水) 18:01

コメントありがとうございます!
しかしすみません、理解が出来ておりません…
余りから行数を特定するということでしょうか?
(かかお) 2020/08/06(木) 11:08

セルに書いてある数値を+1するだけの話ですよ。

余りの考えが必要なのは、最後まで行ったら先頭に戻る、というのを実現するためです。
私が書いた式の、iの部分を1,2,3…と、どんどん変えていって、どういう計算結果になるかを確かめてみてください。(元のコードのForループは不要であり、i はどこかのセルの値と思ってください)
(???) 2020/08/06(木) 17:37


コメント返信:

[ 一覧(最新更新順) ]


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