現在、あるシートのデータをコピーして別のシートに保存するマクロがあります。私が持っている問題は、式をコピーして貼り付けているだけで、値をコピーして貼り付ける必要があるということです。Excelでの値の貼り付けがマクロの式でない
Sub Archive_Execution()
Dim mainworkbook As Workbook
Set mainworkbook = ActiveWorkbook
Dim rangeName
Dim strDataRange As Range
Dim keyRange As Range
rangeName = "Archive_Execution"
Application.Goto Reference:=rangeName
Selection.Copy
Sheets("Archive Execution").Activate
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
mainworkbook.Sheets("Archive Execution").Paste
Sheets("Archive Execution").Activate
Set strDataRange = Range("A2:AA1000000")
Set keyRange = Range("D1")
strDataRange.Sort Key1:=keyRange, Order1:=xlAscending
End Sub
すべてのヘルプは大幅に値のみがコメントで述べたように式
は、技術的に必要なのは、 '置き換えmainworkbook.Sheets(「アーカイブの実行」)である。' mainworkbook.Sheets(「アーカイブの実行」)とPaste'。PasteSpecial xlPasteValues'が、私はあなたのコードを見直しお勧めします'Select'、' Copy'、 'Paste'の使用を避けるためです。代わりに、新しいワークシートのセルをインポートする値に設定することができます。 – Jordan
ありがとうございます。 .PasteSpecial xlPasteValuesを含めてみましたが、WorksheetクラスのPasteSpecialメソッドのエラーが発生しましたか?新しいワークシートのセルを値に設定することで、意味を広げることができますか? –
申し訳ありませんが、ワークシートの指定時に貼り付ける範囲を指定する必要があります。 'Sheets(" Archive Execution ")。範囲(" A "とRows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues' – Jordan