Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


269 / 13645 ツリー ←次へ | 前へ→

【81251】コピペのコードで悩んでいます。 Ackkn 20/4/9(木) 14:33 質問[未読]
【81252】Re:コピペのコードで悩んでいます。 マナ 20/4/9(木) 18:59 発言[未読]
【81253】Re:コピペのコードで悩んでいます。 Ackkn 20/4/9(木) 23:02 回答[未読]
【81254】Re:コピペのコードで悩んでいます。 Ackkn 20/4/10(金) 11:25 質問[未読]
【81255】Re:コピペのコードで悩んでいます。 マナ 20/4/10(金) 18:41 発言[未読]
【81256】Re:コピペのコードで悩んでいます。 Ackkn 20/4/10(金) 22:20 質問[未読]

【81251】コピペのコードで悩んでいます。
質問  Ackkn  - 20/4/9(木) 14:33 -

引用なし
パスワード
   通常Excel上で、下記のように仮にA列からE列目での4行に(4行はセット)ランダムに値が入っている場合、これを値の部分だけを選択して別の場所にペーストした場合、途中の空白は選択していないので、詰まってペーストされます。

A    B    C    D    E
    12        7      4行はセットであり、途中に空白セル
    4        6      はありません。
    6        4    
    2000        1800    


しかし、全体をRange文で選択してしまうと当然そのままペーストされてしまいます。
このランダムにある複数箇所を空白を詰めてコピペするコードをご教示下さい。
マクロ記録でやりましたが、下のようになって汎用性がありません。

  Range("B1:B4,D1:D4").Select
  Range("A7").Activate
  Selection.Copy

【81252】Re:コピペのコードで悩んでいます。
発言  マナ  - 20/4/9(木) 18:59 -

引用なし
パスワード
   ▼Ackkn さん:

>4行はセットであり、途中に空白セルはありません。

↑が前提ですが、

Range("A1:E4").SpecialCells(xlCellTypeConstants).Copy

【81253】Re:コピペのコードで悩んでいます。
回答  Ackkn  - 20/4/9(木) 23:02 -

引用なし
パスワード
   ▼マナ さん:
>▼Ackkn さん:
>
>>4行はセットであり、途中に空白セルはありません。
>
>↑が前提ですが、
>
>Range("A1:E4").SpecialCells(xlCellTypeConstants).Copy

マナさん

早速のご返答ありがとうございます。
明日会社で確認してご連絡いたします。

【81254】Re:コピペのコードで悩んでいます。
質問  Ackkn  - 20/4/10(金) 11:25 -

引用なし
パスワード
   ▼Ackkn さん:
>▼マナ さん:
>>▼Ackkn さん:
>>
>>>4行はセットであり、途中に空白セルはありません。
>>
>>↑が前提ですが、
>>
>>Range("A1:E4").SpecialCells(xlCellTypeConstants).Copy
>
>マナさん
>
>早速のご返答ありがとうございます。
>明日会社で確認してご連絡いたします。

マナさん

私の説明不足ですいません。
確かに途中に空白のセルはありませんが、すべてが例示のように
数字ではありません。
中には数式で他のマスタから商品名等を探して漢字含みで表示しているセルも
あります。

これだと無理でしょうか?
ご教示よろしくお願いいたします。

【81255】Re:コピペのコードで悩んでいます。
発言  マナ  - 20/4/10(金) 18:41 -

引用なし
パスワード
   ▼Ackkn さん:

では、いったん全部コピーしたあとで、
空白列を削除してはどうでしょうか。

もしくは、5列しかないのだから、
空白かどうか確認しながら、1列ずつコピーするとか。

【81256】Re:コピペのコードで悩んでいます。
質問  Ackkn  - 20/4/10(金) 22:20 -

引用なし
パスワード
   ▼マナ さん:
>▼Ackkn さん:
>
>では、いったん全部コピーしたあとで、
>空白列を削除してはどうでしょうか。
>
>もしくは、5列しかないのだから、
>空白かどうか確認しながら、1列ずつコピーするとか。

マナ さん

ご返答ありがとうございます。
最初の質問時に書きましたが、この5列は仮で本当は
1ヶ月分31日(列)あります。そして、行も4行を1ア
イテムとして5アイテムあります。
5アイテムの生産実績の表で、4行の最下行が日々の出
来高なので、行列変換も行ってアイテム毎の集計まで
やりたいんです。
それの一部をご教示いただいて、後はその応用で自分
なりに展開するつもりでした。
しかし、仰るようにいったん全部コピーしたあとで、
空白列を削除するしかないですか。
なんだかもう少しスマートに出来るような気がしたん
ですが、ありがとうございました。
出直します。

269 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free