Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBAのこと23】最終行まで選択してコピー(LastRow/Selection)

【Excel/VBA のこと 23】

   f:id:tuna-kichi:20200223230814p:plain

 

最近の業務で、列を別のシートにコピーして、比較/確認することがあります。

 一列丸ごとコピーできればいいのですが、セルの一部が結合されていると、

 結合されている部分も一緒にコピーされてしまうので、

 欲しい列だけ選択することができません。

 

また、データの途中が空欄だと、先頭行から 

 Shift + Ctrl + 下矢印キー  を押しても最終行まで届かず、

 空欄セルで止まってしまいます。

 

  表サンプル

 

 

仮にすべてのセルにデータが埋まっていても、

 ワンクリックでコピーできるならその方が楽です。

 

なので、マクロ作って、リボンに登録して、対象の列のセルを一つ選択して、

 ワンクリックでコピーさせています。

 

 

 

マクロ

※前提:コピーしたい列の先頭の行を選択しておく

Sub 列コピー()

 Dim r As Long '行番号を格納する
 Dim c As Long '列番号を格納する
 Dim LastR As Long '最終行を格納する

 r = Selection.Row '選択したセルの行番号を取得する
 c = Selection.Column '選択したセルの列番号を取得する
 LastR = Cells(Rows.Count, c).End(xlUp).Row '選択したセルの最終行を取得する

 Range(Cells(r, c), Cells(LastR, c)).Copy 'コピーする

End Sub

                    

あとは、好きなところ or 指定の場所に貼り付ければOK

次の列のセルを選択、クリック、貼り付け の繰り返し。

 

このような簡単な作業を自動化して、小さなストレスを削減しています。

手動で作業しても5秒で終わるかもしれませんが、

1秒で終わるならそれに越したことはないと思いませんか?

 

マクロは、「個人用マクロブック」の標準モジュールに記述して、

リボンに登録して完了です。

 

 

**********************************************************

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/