|
▼浜口 さん:
こんばんは。
>※質問の要点
>(空白セルを詰めてコピーする方法)
>:問題点・・関数式で得られた「空白セル」は空白ではないのか?:
>
>:参考例:
> 注: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
これで確認してみて下さい。
|
|