次の方法で共有


PasteSpecialメソッドで 値と数値の書式で貼り付けすると 実行時エラー'1004となる

質問

2014年4月30日水曜日 4:11

VBA初心者の t-hosnya と申します。

このフォーラムは初めて利用させていただきました。

下記のマクロをつくり (本ブックから 別ブックに シート書式2 をコピペ(値と書式のみ)する)運用しています。

Sub 別ブックに シート書式2 をコピペするマクロ_()

 Application.ScreenUpdating = False     'マクロの実行を非表示にする

    Dim APP As Application
    Dim WBK1 As Workbook                    ' 本ブック
    Dim WBK2 As Workbook                    ' 作成ブック
    Dim 既定ファイル名 As String
    Dim 保存ファイル名 As Variant
    Dim TBLSH As Variant
    Dim OBJ As Object
     
                                            ' 新規ブックに転出するシートの配列を作成
    TBLSH = Array("書式2")
   
    Set APP = Application
    Set WBK1 = ThisWorkbook                 ' 本ブック(マクロが書かれたブック)
                     
                                            ' 指定シート(複数)を新規ブックにコピーする
    WBK1.Worksheets(TBLSH).Copy
    Set WBK2 = ActiveWorkbook
   
   
    Windows("mitumori-form.xls").Activate
    Sheets("書式2").Select
    Cells.Select
    Selection.Copy
    Windows(2).Activate                     '作成ブック(2番目に開いた)
    Sheets("書式2").Select
    Cells.Select
   
       On Error Resume Next  '14/04/08追加    ※今回追記した文
    
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats  
    
    Windows("mitumori-form.xls").Activate
 
    Application.CutCopyMode = False
   
    Windows(2).Activate
    Sheets("書式2").Select
   
 
    
    Set WBK1 = Nothing
    Set APP = Nothing
    Set WBK2 = Nothing
   
          
 End Sub

上記のマクロを作成し Excel2007までは問題なく実行していました。

Excel2013になって実行すると
PasteSpecial メソッドで
 「実行時エラー '1004
RangeクラスのPasteSpecial メソッドが失敗しました。」 の エラーがでます。

回避するために
 On Error Resume Next を
PasteSpecialの前行に入れたら エラーは回避できたのですが
値と書式の貼り付けにもっかわらず 元シートの計算式もコピペされています。
何故でしょうか?(元シートは配布用にすいる為、計算式はなし にしたいです)

VBE画面で1行づつF8押下で実行するれば 値と書式のみが正しくコピーされます。

コードの書き方にも問題があればご教授お願いします。