0

代码的第一部分效果很好,但我可以让它更简单,就像第二个代码一样吗?我已经尝试了第二个,但 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 不断返回相同的错误。下面,完整的代码。你有什么建议吗?

子 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
4

1 回答 1

2

我认为第二个应该可以正常工作,但是您正在使用"I"而不是"D"在范围内。此外,您正在使用inserir而不是inserir.Row. 所以我认为这只是一个简单的错误。理论上它应该可以正常工作。

于 2013-10-07T21:18:36.490 回答