[[20140819104624]] 『空白セルに上の値をコピー(指定列のみ)』(MARU) ページの最後に飛ぶ

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

 

『空白セルに上の値をコピー(指定列のみ)』(MARU)

 A列〜D列の空白セルの場合、上の値をコピーしていますが、
 G列〜AV列の間で、一部のセルのみコピーしたいのですが
 そのような場合は、どうすればいいでしょうか?
 対象列A,B,C,D,G,I,K,L,M,X,Y,Z,AA,AD,AE,AF,AG,AH,AI,AJ
       ,AK,AL,AN,AO,AP,AQ,AR,AS,AU,AV になります。  

    Windows("Data.xlsm").Activate
    Sheets("wk").Select
   '開始行
    kairw1 = 2
   '最終行
    maturw1 = Range("A2").End(xlDown).Row
    For i1 = kairw1 To maturw1
     For j1 = 1 To 4
      With Cells(i1, j1)
       If .Value = "" Then .Value = .Offset(-1).Value
      End With
     Next j1
    Next i1
 宜しくお願いします。

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


回答にはならないかも知れませんが。。。

オリジナルをご自身で作成されたものであればお分かりかと思いますが、対象列の
並びが不規則なので、j1の値の指定方法が面倒くさいです。

都度j1の値を判定して対象列以外の場合には空きチェックとコピーする処理を
飛ばす、というのもありかもしれませんが、汎用性に乏しいですしね。

もし対象列以外の列がいつも空きセルであれば、
  For j1 = 1 To 4
のところを
  For j1 = 1 To 22
とすることで、(処理速度の面を考慮しなければ)解決しそうですけど。。。

どなたか賢人の方、よろしくお願いいたします。

(ryopo^2) 2014/08/19(火) 12:41


 ありがとうございます。
 補足になります。 
 対象列以外の列は、値が入っております。
 宜しくお願いします。 
(MARU) 2014/08/19(火) 13:00

 こんな感じで。
    For i1 = kairw1 To maturw1
          For Each c In Split("A,B,C,D,G,I,K,L,M,X,Y,Z,AA,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,AR,AS,AU,AV",",")
                With Cells(i1, c)
                       If .Value = "" Then .Value = .Offset(-1).Value
                End With
           Next
    Next
(Mook) 2014/08/19(火) 15:42

 ありがとうございました。
 実行時エラー424 オブジェクトが必要です
 のメッセージを返します。
 下記のように記述しております。
 宜しくお願いします。  
 Dim kairw1 As Integer
 Dim maturw1 As Long
 Dim i1 As Long
 Dim c1 As Range

 Windows("Data.xlsm").Activate
 Sheets("wk").Select
 kairw1 = 2
 maturw1 = Range("A2").End(xlDown).Row

 For i1 = kairw1 To maturw1
  For Each c1 In Split 
 ("A,B,C,D,G,I,K,L,M,W,X,Y,Z,AA,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,AR,AS,AU,AV", ",")
      With Cells(i1, c1)
           If .Value = "" Then .Value = .Offset(-1).Value
      End With
  Next    
 Next

(MARU) 2014/08/19(火) 17:03


 cl は Range でなく、Variant です。
 Split が一行になっていないように見えるのも気になりますが…。
(Mook) 2014/08/19(火) 21:24

 Mookさんありがとうございます。
 Variantに修正後、問題なく処理できました。
 以後気をつけます。
 ありがとうございました。 
(MARU) 2014/08/20(水) 14:30

コメント返信:

[ 一覧(最新更新順) ]


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