このフォーラムで指摘されているさまざまな方法を使用していますが、いずれも機能しないようです。Excel 2013:マクロを使用して同じブック内の別のシートにデータをコピーして後で追加します
LIBRARY.xlsmというブックがあります。
このワークブックには、2つのワークシートが含まれています:計算機とCUTS。
ワークシートCALCULATORには、INPUTとOUTPUTという2つのテーブルがあります。
データをINPUTに入力すると、値が計算され、OUTPUTに自動的に入力されます。
マクロでOUTPUTの下にボタンを作成して、OUTPUTのデータをワークシートCUTSにコピーします。
私はINPUTに新しいデータを入力し、OUTPUTを更新します。
これで、以前のデータを上書きしたり削除したりすることなく、この新しいデータをCUTSにコピーします。
このプロジェクトは5つのセクションに分かれているので、ワークシートのCUTSに5つのテーブルを作成して印刷してください。
INPUTテーブルにはセルA1:M31が含まれていますが、これは問題ではありません(これはコピーしません)。
OUTPUTテーブルは、セルO6:S26を占有します。これはコピーする必要があるデータです。
ワークシートへの配置CUTSはセルA1から開始することができます(つまり、表の範囲はA1:E20です)。私は列をスキップして、次のデータセットを配置したいと思います。したがって、次のデータセットはG1(G1:K20)からM1:Q20などで始まる必要があります。たぶん、3つのテーブルを横切って、次の3つのテーブルを(行単位で)開始してください。
ここでは、使用しようとしているコードです。問題は、値を保持せず、以前のデータを上書きすることです。
Sub Create_CUTS()
Dim sourceSheet As Worksheet
Dim sourceRange As Range
Dim sourceRows As Integer
Set sourceSheet = Worksheets("CALCULATOR")
sourceRows = WorksheetFunction.CountA(sourceSheet.Range("A:A"))
Set sourceRange = sourceSheet.Range("O6:S26" & sourceRows)
Dim targetSheet As Worksheet
Dim targetRange As Range
Dim targetRows As Integer
Set targetSheet = Worksheets("CUTS")
targetRows = WorksheetFunction.CountA(targetSheet.Range("A:A"))
Set targetRange = targetSheet.Range("A" & targetRows + 1 & ":A" & targetRows + 1 + sourceRows)
sourceRange.Copy Destination:=targetRange
End Sub
これを行うには、いくつかの方法がありますが、 -Grumps