電子書籍ギフト♪ 最大10,000円が当たる!

VBA初心者ですが、教えて下さい。
シート名「●」に記載されている、A列の全セルをコピーしたいのですが、
数式で条件に合わないものを""としているため、以下の構文でコピーを実行すると
長い空白行ができてしまいます。
Range(Range("A2"), Cells(Rows.Count, 1).End(xlUp)).Select

文字が入っているところまでをコピー、としたいのですが、どうすれば良いでしょうか?
尚、各行の間にも空白行がありますが、こちらは削除せず、最下部文字列以下の空白行のみ
コピーしない仕様にしたいのです。

どなたか詳しい方、ご教示のほどよろしくお願いいたします。

「数式による空白を無視して最終行までコピー」の質問画像
教えて!goo グレード

A 回答 (2件)

こんな感じで如何でしょう。


bottomセルが空白だったら、空白でなくなるまで一個上に移動する処理を追加しています。
-----
Dim top As Range
Dim bottom As Range

Set top = Range("A2")
Set bottom = Cells(Rows.Count, 1).End(xlUp)

Do While bottom.Value = ""
Set bottom = bottom.Offset(-1, 0)
Loop

Range(top, bottom).Select
-----
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございます!
いただいた内容でできました!!
値が空白なら戻る...とても勉強になりました。
早速のご回答をありがとうございました!

お礼日時:2016/12/13 10:36

式ではなく計算結果をコピーすると言う事でよいのでしょうか?


貼付先が決まっているのならば値(Value)を代入すれば良いと思います。
    • good
    • 0
この回答へのお礼

申し訳ありません、初心者ですので上記でご指摘いただいた内容の意図を組みきれませんでした。今後勉強していく中で本ご回答がどういった内容だったのかを把握していきたいと思います。
早速のご回答をありがとうございました!

お礼日時:2016/12/13 10:37

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

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

教えて!goo グレード

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

人気Q&Aランキング