2017-07-12 3 views
0

エラー1004で、セル値をコピーして貼り付ける(式を削除して値を取得する)。シートに記録するときにうまく動作します。サブルーチンで実装するとうまく動作しません。エラーがPasteSpecial行で発生しますPasteValuesを使用してエラー1004 'Application DefinedまたはObject Defined Error'になる

If i = ws_count Then 
    'ws_count - 2 allows us to place the new tab before the last sheet in the data file (admin) 
    Sheets(twomonthsago).Copy Before:=Sheets(ws_count - 2) 
    Sheets(twomonthsago & " (2)").Name = lastmonth & " test" 
    Sheets(twomonthsago).Cells.Copy 
    Sheets(twomonthsago).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
End If 

私も直接、まだエラーを取得して、貼り付ける前にRange("A1")を選択しようとしました。すべての変数には有効な文字列が割り当てられているため、問題はありません。

+0

あなたは 'シート(twomonthsago).Cells.PasteSpecialを行うことができます...'すぎ – BruceWayne

答えて

2

直接割り当てます。

これらを交換してください:

Sheets(twomonthsago).Cells.Copy 
Sheets(twomonthsago).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

で:

With Sheets(twomonthsago).UsedRange 
    .Value = .Value 
End With 
+0

ああええと、 "メモリ不足" ですそれを試した後のエラー。 – dwirony

+1

次に、セル数を減らします。編集を参照してください。 –

+0

Voila、それを修正しました!本当にありがとう。 50kbtwを壊すことにおめでとう。 – dwirony

関連する問題