将值从一个工作表复制到另一个工作表

时间:2011-01-04 19:37:44

标签: excel vba

如何将一些数据从一个工作表复制到另一个工作表?

我尝试了这段代码,但收到错误:

Private Sub CommandButton2_Click()
    Sheets("Gas Opt").Select
    Range("A1:A3").Select
    Selection.Copy

    Sheets("ExportToPPServer").Select
    Cells(3, AColumn).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    LFound = True
    MsgBox "Data coped."


End Sub

错误:

Select method of Range class failed.

3 个答案:

答案 0 :(得分:2)

这看起来如何?

Sub x()
    Sheets("Gas Opt").Select
    Range("A1:A3").Select
    Selection.Copy
    ActiveWorkbook.Sheets("ExportToPPServer").Range("A1:A3").PasteSpecial Paste:=xlValues
End Sub

修改

您的控制按钮与“Gas Opt”不同吗?这可以解释它。试试这个:

Sub x()
    Sheets("Sheet2").Range("A1:A3").Copy
    ActiveWorkbook.Sheets("Sheet3").Range("A1:A3").PasteSpecial Paste:=xlValues
End Sub

答案 1 :(得分:2)

这样的事情应该有效:

Private Sub CommandButton2_Click()
    Dim copyRng As Range, targetRng As Range

    Set copyRng = Worksheets("Gas Opt").Range("A1:A3")
    Set targetRng = Worksheets("ExportToPPServer").Cells(3, AColumn)

    copyRng.Copy 
    targetRng.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    LFound = True
    MsgBox "Data coped."
End Sub

答案 2 :(得分:0)

您需要激活工作表,否则您无法选择其中的单元格。

Sheets("ExportToPPServer").Activate ' Instead of select