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

Excel 将值从一个工作表复制到另一个工作表,excel,vba,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:=x

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

我尝试了此代码,但出现错误:

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.
这个看起来怎么样

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
这个看起来怎么样

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

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

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

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

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

像这样的方法应该会奏效:

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

像这样的方法应该会奏效:

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

它跳转到我要从中复制的工作表,并给出“Select Method of range Class failed”错误。它在我的床单上很好用。也许是因为我做这件事是作为一个常规程序,而不是作为控制的一部分?谢谢。你成功了。我想我应该指定控制按钮在目标工作表上,而不是源工作表上。它跳转到我要从中复制的工作表,并给出“Select Method of range Class failed”错误。它在我的床单上很好用。也许是因为我做这件事是作为一个常规程序,而不是作为控制的一部分?谢谢。你成功了。我想我应该指定控制按钮在目标工作表上,而不是源工作表上。在rangeA1:A3.Select,我得到的错误与我的问题中的错误相同。这可能是因为工作表“GasOpt”此时未处于活动状态。在rangeA1:A3.Select,我得到的错误与我的问题中的错误相同。这可能是因为工作表“GasOpt”此时未处于活动状态。哪一行生成错误消息?哪一行生成错误消息?