コードの最初の部分は非常にうまく機能しますが、2 番目のコードのようにもっと単純にすることはできますか? 2番目を試しましたが、Excelは「実行時エラー1004 - アプリケーション定義またはオブジェクト定義のエラー」を返します。
Worksheets(sample).Range("ratio143144").Copy
Worksheets("Results").Activate
Range("D" & inserir.Row).Select
ActiveSheet.PasteSpecial Link:=True
Worksheets(sample).Range("ratio146144").Copy
Worksheets("Results").Range("I" & inserir).PasteSpecial Link:=True
GolezTrol、inserir.row を使用しようとしましたが、Excel が同じエラーを返し続けます。以下、完全なコード。何か提案はありますか?
Sub CopiarOriginais()
Dim Certeza As VbMsgBoxResult
Dim sample As String
Dim inserir As Range
ActiveSheet.Name = Range("Y1").Value
sample = Range("Y1").Value
Certeza = MsgBox("Você tem certeza de que os dados originais já não foram copiado? Utilizar novamente essa função, após o teste 2-sigma ter sido aplicado, comprometerá os seus dados originais.", vbYesNo)
If Certeza = vbNo Then End
Sheets("Results").Activate
Range("B2").End(xlDown).Offset(1, 0).Select
Set inserir = ActiveCell
Sheets(sample).Activate
Range("B3:D122").Copy
Range("B132").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Worksheets(sample).Range("ratio143144").Copy
Worksheets("Results").Activate
Range("D" & inserir.Row).Select
ActiveSheet.PasteSpecial Link:=True
Worksheets(sample).Range("ratio146144").Copy
Worksheets("Results").Activate
Range("I" & inserir.Row).Select
ActiveSheet.PasteSpecial Link:=True
' Worksheets("Results").Range("I" & inserir.Row).PasteSpecial Link:=True
Worksheets(sample).Range("ratio145144").Copy
Worksheets("Results").Range("G" & inserir.Row).PasteSpecial Link:=True
Worksheets(sample).Range("ratio1431442se").Copy
Worksheets("Results").Range("F" & inserir).PasteSpecial Link:=True
Worksheets(sample).Range("ratio1451442se").Copy
Worksheets("Results").Range("H" & inserir).PasteSpecial Link:=True
Worksheets(sample).Activate
Range("A1").Select
End Sub