私はいくつかの入力をモデルにコピーし、その答えを最初のシートにコピーしようとしています。以下はコードです。 "data_sheet"は入力が多いシートで、 "Final Model"は出力します。その非常に単純な;私は "data_sheet"から "最終モデル"にデータをコピーしようとしています。 "data_sheet"への回答をコピーしようとすると、エラー1004が発生します。最初の部分だけがうまくいく。あなたはwksDest
がwksDest
がアクティブでない限り、必ず失敗しますアクティブワークシート、からCells
を使用して範囲を定義しようとしているので、はvbaランタイムエラー1004を凌駕します。私はコード内で選択をしていません
Private Sub CommandButton1_Click()
Dim wksSource As Worksheet, wksDest As Worksheet
Dim rngStart As Range, rngSource As Range, rngDest As Range
Dim rngStart2 As Range, rngSource2 As Range, rngDest2 As Range
For i = 1 To 6
Set wksSource = ActiveWorkbook.Sheets("data_sheet")
Set wksDest = ActiveWorkbook.Sheets("Final Model")
Set rngSource = wksSource.Range(Cells(5, 3 + i - 1), Cells(23, 3 + i - 1))
'Paste Data Values
Set rngDest = wksDest.Range("C14")
rngSource.Copy
rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Till this code works. Now i just trying to reverse copy
Set rngSource2 = wksDest.Range(Cells(38, 4), Cells(40, 4))
Set rngDest2 = wksSource.Range(Cells(29, 3 + i - 1), Cells(31, 3 + i - 1))
rngSource2.Copy
rngDest2.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next i
は、実際にあなたの第2のアプローチは、働いていました。ありがとう:) – SAM244776
'.Cells'に注意を払う - あなたはシートに明示的に修飾するために' .'を使う必要がありますが、私は第2のアプローチ –