Excel VBA質問箱 IV

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

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


3053 / 13644 ツリー ←次へ | 前へ→

【64568】選択セルの下が空白セルの場合にのみコピー 初心者 10/2/24(水) 10:40 質問[未読]
【64570】Re:選択セルの下が空白セルの場合にのみコ... Hirofumi 10/2/24(水) 11:05 発言[未読]
【64571】Re:選択セルの下が空白セルの場合にのみコ... 初心者 10/2/24(水) 11:20 お礼[未読]

【64568】選択セルの下が空白セルの場合にのみコピ...
質問  初心者  - 10/2/24(水) 10:40 -

引用なし
パスワード
       A    B      C
  1 123  987    999
  2      876
  3 569
  4
  5
  6 789
  7          
と仮にシートがあったとすると


     A    B      C
  1 123  987    999
  2 123  876    999
  3 569  876    999
  4 569  876    999
  5 569  876    999
  6 789  876    999
  7 789  876    999   

というふうに数値が入ってるセルの下側が空白の場合のみ上の数値をコピーすると
いうマクロを作りたいです。

ここまでは本やネットで調べながらできましたが、
最終行+1行まで値がコピーされてしまいます。
最終行までにする場合はどうすればよいでしょうか?

Sub セルの自動入力()
'1. 開始行・列の取得
'2. 最終行・最終列の取得
'3. 開始列から最終列まで繰り返す
'4.  開始行+1行から最終行まで繰り返す
'5.   セルの値が未入力のとき 1つ上のデータをセット
'6.   次のセルへ

  Dim Row1 As Long, Row2 As Long
  Dim Clm1 As Long, Clm2 As Long
  Dim i As Long
  Dim j As Long
  
  With Selection
    Row1 = .Row
    Row2 = Row1 + .Rows.Count
    Clm1 = .Column
    Clm2 = Clm1 + .Columns.Count - 1
  End With
  
  For i = Clm1 To Clm2
    For j = Row1 To Row2
      If Cells(j, i).Value = "" Then _
        Cells(j, i).Value = Cells(j - 1, i).Value
    Next
  Next
End Sub

【64570】Re:選択セルの下が空白セルの場合にのみ...
発言  Hirofumi  - 10/2/24(水) 11:05 -

引用なし
パスワード
   Sub セルの自動入力()

  Dim Row1 As Long, Row2 As Long
  Dim Clm1 As Long, Clm2 As Long
  Dim i As Long
  Dim j As Long
 
  With Selection
    Row1 = .Row
'    Row2 = Row1 + .Rows.Count
    Row2 = Row1 + .Rows.Count - 1
    Clm1 = .Column
    Clm2 = Clm1 + .Columns.Count - 1
  End With
 
  For i = Clm1 To Clm2
    For j = Row1 To Row2
      If Cells(j, i).Value = "" Then _
        Cells(j, i).Value = Cells(j - 1, i).Value
    Next
  Next
End Sub

Row2の時に1マイナスすれば善いのでは?

【64571】Re:選択セルの下が空白セルの場合にのみ...
お礼  初心者  - 10/2/24(水) 11:20 -

引用なし
パスワード
   >Hirofumi さん

ありがとうございます!
無事に解決でき、動作にも問題ありませんでした。

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