Excel VBA質問箱 IV

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

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


58193 / 76732 ←次へ | 前へ→

【23271】Re:空白セルを詰めてコピーについて
発言  ichinose  - 05/3/17(木) 23:37 -

引用なし
パスワード
   ▼浜口 さん:
こんばんは。

>※質問の要点
>(空白セルを詰めてコピーする方法)
>:問題点・・関数式で得られた「空白セル」は空白ではないのか?:
>
>:参考例:
>   注: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)のままでした。
>
'===================================
Sub test()
  Dim ans As Range
  On Error Resume Next
  Set ans = Range("a2:e2").SpecialCells(xlCellTypeFormulas, xlNumbers)
  If Err.Number = 0 Then
   ans.Copy
   Range("a4").PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   End If
  on error goto 0
End Sub
これで確認してみて下さい。
1 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 お礼

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