[[20180607210621]] 『空白セルに上セルデータをコピーしたい』(アマノ) ページの最後に飛ぶ

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

 

『空白セルに上セルデータをコピーしたい』(アマノ)

下図のような表があすのですが、空白部分があるためオートフィルが使えません。

         A         B         C         D         E
 1  <北海道> 
 2       <札幌>
 3            ジンギスカン
 4            イクラ
 5       <小樽>
 6            ウニ
 7 <京都> 
 8       <京都市>
 9            <中京区>
10                  オタベ

空白部分を下図のようにしたいのですがどのようにすれば良いかわかりません。

何か方法があればご教授ください。

         A         B         C         D         E
 1  <北海道> 
 2 <北海道> <札幌>
 3 <北海道> <札幌> ジンギスカン
 4 <北海道> <札幌> イクラ
 5 <北海道> <札幌>
 6 <北海道> <札幌> ウニ
 7 <京都府> 
 8 <京都府> <京都市>
 9 <京都府> <京都市><中京区>
10 <京都府> <京都市><中京区> オタベ

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


右の列からオートフィルやっていけば、7行目みたいなとこだけ
意図通りにならないけど、そこは頑張って手動で直すか、
マクロ作ってやるかくらいしか方法はないのでは?

(まっつわん) 2018/06/07(木) 21:22


(まっつわん)さん
お返事ありがとうございます。
すいません、右の列からオートフィルの方法を教えてもらえないでしょうか?
(アマノ) 2018/06/07(木) 21:33

 >右の列からオートフィルの方法を教えて
C9セルを選択してフィルハンドルをダブルクリック
B2セルを選択してフィルハンドルをダブルクリック
B5セルを選択してフィルハンドルをダブルクリック
B7セルを選択してクリア
B8セルを選択してフィルハンドルをダブルクリック
A1セルを選択してフィルハンドルをダブルクリック
A7セルを選択してフィルハンドルをダブルクリック

と頑張って繰り返す以外ないかと。
マクロならジャンプ機能の合わせ技で、
いい感じでセル範囲を取得できるのですが、
応用は出来ないと思うので、とりあえず、
使い捨てマクロです。

Sub test()

    Dim rngTable As Range
    Dim a As Range
    Dim ixCol As Long

    Set rngTable = Range("A1").CurrentRegion
    For ixCol = rngTable.Columns.Count To 2 Step -1
        For Each a In rngTable.Columns(ixCol).SpecialCells(xlCellTypeConstants).Offset(, -1).Areas
            With Application.Range(a, a(0, 1))
                .Cells(1).AutoFill .Cells, xlFillCopy
            End With
        Next
    Next
End Sub
(まっつわん) 2018/06/07(木) 21:40

手動の操作を自動化したら、だいたい上記のコードになります。

(まっつわん) 2018/06/07(木) 21:41


あぁ、手動だと左からやっても同じ結果かな?

まぁ、右から埋めて行った方が、
セル範囲が上手く特定できると直感で思ってしまったので^^;
左から埋めても出来るかも?

(まっつわん) 2018/06/07(木) 21:47


(まっつわんさん)お返事ありがとうございます
フィルハンドルのダブルクリックでコピーされるんですね!
知りませんでした。
今日はもう会社を出てしまったので明日やってみます。
コードも有がとうございます。

明日報告にきます。
(アマノ) 2018/06/07(木) 21:55


 ジャンプで空白セルを選択→多分A2がアクティブになるので

 =IF(LEFT(A1)="<",A1,"")

 Ctrl+Enter

 とかでできませんかね。ごめんなさい、ためしてないのですが。
(コナミ ) 2018/06/07(木) 22:33

(まっつわん)さんへ
フィルハンドルをダブルクリックの方法、知りませんでした!
マクロもありがとうございます。
毎月お客さんから大量のファイルが送られてきて、手作業で困っていたのですが
(毎月半日くらいかかってました)全ファイル10分で出来ました!!
ここで、相談して本当に良かったです!
ありがとうございました!

(コナミ)さんへ
すいません、今コメント気付きました。
やってみて報告にきます!
(アマノ) 2018/06/09(土) 11:23


(コナミ)さんへ
すいません、Ctrl+Enterやってみたのですが
空白状態のまま上手くいきませんでした。
やり方が、間違っていたらごめんなさい・・・。

(アマノ) 2018/06/09(土) 12:53


 >すいません、Ctrl+Enterやってみたのですが
その手がありますねー

1行目をはずして2行目から最後まで選択してジャンプで空白を選択したとき、
A2が必ずアクティブになるならいいかも知れませんが、
例だとC2セルがアクティブになる?
(選択範囲の内の白くなってるセル=アクティブセル。こちらの環境では)
なので数式をC2セルで考えないといけない上に数式を少し変えないといけないと思います。

数式を1個上の1文字目が「<」で、1個右が空白でない場合、1個上のセルを参照
としないとダメっぽいですし、不要な空白セルにも数式が入ってしまう(空白には見える)のが、
いいのか悪いのか。

あと、じぶんで数式を状況に合わせて書けて、
タイプミスせずに入れるスキルがあるといいのですが、
何回か失敗して元に戻してやり直してって、やることが出来るかどうか、
難しい面もありそうですね。
大量のデータがあるなら数式案もいいかもしれませんし、
数式案をマクロ化するのもありそうです。

(まっつわん) 2018/06/09(土) 13:35


コメント返信:

[ 一覧(最新更新順) ]


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