Excel VBA質問箱 IV

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

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


58197 / 76732 ←次へ | 前へ→

【23267】空白セルを詰めてコピーについて
質問  浜口  - 05/3/17(木) 21:30 -

引用なし
パスワード
   はじめまして。会社の日常業務効率化のために
エクセルVBAと悪戦苦闘している、初心者です。
参考書等を見ながら、がんばっているのですが、
どうしても行き詰ってしまい、思い切って質問投稿しました。

どなたか、ご指南いただけないでしょうか?

※質問の要点
(空白セルを詰めてコピーする方法)
:問題点・・関数式で得られた「空白セル」は空白ではないのか?:

:参考例:
   注:A列の式はそのままE列まで行固定で入っています。

A1行セル範囲(A1:E1)の値(1,2,0,3,4)←計算式で得られているとする。
A2行セル範囲(A2:E2)の値(1,2, ,3,4)←関数=IF(A1=0,"",A1)で得られた値

上二つの行から、

セル範囲(A4:E4)の値を(1,2,3,4, )となるようにコピーしたいのですが、
  :A2行・・IF関数が入力されているために、一旦、
  :A3行にVBAで値のみをコピーする。
その結果

A3行セル範囲(A3:E3)の値(1,2, ,3,4)←値のみを貼り付けて得られた値

A3行をコピーし、それを基にSpecialCells(Type:=xlCellTypeConstants)で
試行しましたが、結果は

A4行セル範囲(A3:E3)の値(1,2, ,3,4)となり、
スッテプインにて調べた結果、
選択範囲A3行が (A1:A2)(A4:A5)とならずに、
        (A1:A5)のままでした。

※VBA記述は、以下の通りです。

Range("A2:E2").Copy
  Range("A3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
     :=False
Dim rg As Range
  Set rg = Range("A3:E3")
  Set rg = rg.SpecialCells(Type:=xlCellTypeConstants)
  rg.Copy
  Range("A4").PasteSpecial
  End Select

どうか、よろしくお願いいたします。
記述が下手ですみません。

3 hits

【23267】空白セルを詰めてコピーについて 浜口 05/3/17(木) 21:30 質問
【23271】Re:空白セルを詰めてコピーについて ichinose 05/3/17(木) 23:37 発言
【23274】Re:空白セルを詰めてコピーについて 浜口 05/3/18(金) 1:41 発言
【23275】Re:空白セルを詰めてコピーについて ichinose 05/3/18(金) 7:27 発言
【23276】Re:空白セルを詰めてコピーについて 追伸 ichinose 05/3/18(金) 7:57 発言
【23346】Re:空白セルを詰めてコピーについて 追伸 浜口 05/3/19(土) 2:09 お礼

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