ExcelでもしAW列にデータがあれば、指定したデータをペーストしていきたい。


今、AW~BE列の10行目に、文字列データが入っています。

    AW|AX|AY|AZ|BA|BB|BC|BD|BE
10行目 あ|い|う|え|お|か|き|く|け

この状況におきまして、AW列を除くAX~BE(い~け)のデータを
コピーします。(①)

そして11行目以下、55000行ぐらいまで、①のデータを貼り付けて
いきたいのです。(②)

しかし条件がありまして、もしAW列に、文字列データではなく
空白セルがあった場合、②の貼り付け処理は行わないでほしいのです。

そのような処理が可能なマクロ等、お教えいただけないでしょうか。
よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2016/03/26 09:44:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント1800pt

以下のコードを標準モジュールに貼り付けて、copy_ax_be サブルーチンを実行してください。

Sub copy_ax_be()
    row_end = 55000     ' 最終行
    row_base = 10
    col_base = 49       ' AW列

    ' AX10:BE10 をコピー
    Range(Cells(row_base, col_base + 1), Cells(row_base, col_base + 8)).Copy


    ' AW列が空じゃなかったら貼り付け
    For r = row_base + 1 To row_end
        Set cell = Cells(r, col_base)
        If Not IsEmpty(cell) And Not cell.Value = "" Then
            Cells(r, col_base + 1).Select
            ActiveSheet.Paste
        End If
        DoEvents
    Next
End Sub

終了行は、row_end で指定してますが、適宜変更してください。
AW列で値が入ってる最後まで、ということであれば、以下のように書けます。

    row_end = Cells(Rows.Count, col_base).End(xlUp).Row

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません