痔になりやすい生活習慣とは?

エクセル VBAのコードについて

いつもお世話になっています。
今回はデータの入っている最終行のコピーについて教えてください。

例えば、 A1からG5までデータのがあるとして、C5からG5までの値をコピーするといったものです。
1列ずつであれば、
Sheet1.Cells(Rows.Count,"C").End(xlUp).C opyでできるんですが、複数の列となるとどのようなコードになりますか?
例のようにCからGなら一つ一つ書くのでも良いのですが、もっと列が多くなると間違いも起こりそうなので、ご教授いだきたいです。よろしくお願います。

A 回答 (2件)

Sheet1.Cells(Rows.Count,"C").End(xlUp).Resize(,5).Copy



とか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。教えていただいたもので出来ました!!しかも、短いコードで!!ありがとうございます!まだまだ、勉強続けて行きます!

お礼日時:2019/09/12 09:53

もっと簡単にできる方法がほかにあるかもしれませんが、以下のようになるかと。


Dim maxrow As Long
Dim maxcol As Long
maxrow = sheet1.Cells(Rows.Count, "C").End(xlUp).Row
maxcol = sheet1.Cells(maxrow, Columns.Count).End(xlToLeft).Column
sheet1.Range(sheet1.Cells(maxrow, "C"), sheet1.Cells(maxrow, maxcol)).Copy
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
Columns.を使う方法があったのですね!勉強になりました!ありがとうございます!

お礼日時:2019/09/12 09:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング