[[20150702003528]] 『上下に分かれた表を一つにしたい。』(momo) ページの最後に飛ぶ

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

 

『上下に分かれた表を一つにしたい。』(momo)

お世話になります。

マクロで上下二段に分かれた表を一つにまとめるにはどうしたらいいにでしょうか?
業務で同じ事を40回位行うので少しでも早く終わらせたいのです。

早速ですけど、上段はA列からJ列で行数は任意の数(最小5行から最大20行まで変化します。)
下段は上段と同じ構成です。上段が10行なら下段も10行という具合です。
そこで下段の表を全て選択して、先頭行K1に貼り付けたいのです。

只、上段と下段の間には1行の空白行が有ります。

説明が下手なので解って頂けたか不安ですけど
宜しくお願いします。

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


 一例です。
 Sub test1()
     Dim rng As Range

     Set rng = Cells(Rows.Count, 1).End(xlUp).CurrentRegion
     rng.Copy Range("K1")

    '' rng.Cut Range("K1") ' こちらが意図するものかも。
 End Sub

 補足:
 (1)「下段の表のさらに下方向には何もない」という前提を置いています。
    A列の最終行から、上にジャンプすると、それが、下段の表の最下行。
 (2)そのセルのCurrentRegionをとると、
    "そのセルが含まれる範囲で、空白行、空白列、空白セルで取り囲まれている領域”
    となります。それが、下段の表を示すことになります。
 (3)もし、下段表の下方向には何かあって、上記の方法が使えないなら、
    Set rng = Cells(1, 1).End(xlDown).End(xlDown).CurrentRegion
    とします。

 さらに補足:
 "セル範囲を指定する"場面は、Excelマクロでは頻出かつ重要です。
 これに慣れることは上達の近道です。
 下記記事は、こうした場面で使えるテクニックがまとめられているので、
 一度、全体に目をとおしておくとよいと思います。
 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html

(γ) 2015/07/02(木) 05:43


γ様
回答ありがとうございます。
固定の範囲ならどうにかするのですが
変動すると方法が分かりませんでした。
またいろいろな方法があるのですね。
知らない事だらけなのでVBA頑張って
勉強します。
本当にありがとうございました。
(momo) 2015/07/02(木) 10:29

コメント返信:

[ 一覧(最新更新順) ]


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