gpt4 book ai didi

vba - Excel VBA - 选择剪切粘贴错误

转载 作者:行者123 更新时间:2023-12-02 14:31:11 26 4
gpt4 key购买 nike

我正在创建一个宏,但我被困在这个剪切粘贴语句中,并且从昨天开始就无法继续。

问题是:我选择“D2 到 F2”列中的所有行并将其粘贴到“A1”。这是它的代码:

Range("D2:F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut

Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste

收到此错误:
Error

这是我尝试过的:

  1. 代码更改:使用 PasteSpecial 而不是简单的 Paste

    Range("D2:F2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut

    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    'ActiveSheet.Paste ' insted of this using paste special.
    ActiveSheet.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

出现以下错误:
enter image description here

  • 代码更改:将选择范围调整为 3 列。

    Range("D2:F2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut

    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Resize(1, 3).Select
    'ActiveSheet.Paste
  • 收到此错误:
    enter image description here

  • 尝试过 On Error Resume Next 语句。它忽略错误消息,但也不粘贴数据。
  • <小时/>

    我正在寻找一种方法来忽略此错误消息并继续粘贴。当我们在 Excel 工作表中手动复制粘贴剪切粘贴时,通常会出现此错误,我们可以选择忽略和粘贴数据。同样,是否有任何方法可以在宏中忽略它?

    最佳答案

    Avoid Select at all costs 。尝试这样的事情

    Sub foo()
    Dim rng
    Set rng = Range("D2:F" & GetLastRow(4))

    rng.Cut
    Application.Goto Range("A1").Offset(GetLastRow(1))
    ActiveSheet.Paste

    End Sub

    Function GetLastRow(col As Long)
    ' modified from:
    ' https://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba

    If Application.WorksheetFunction.CountA(Columns(col)) <> 0 Then
    GetLastRow = Columns(col).Find(What:="*", _
    After:=Cells(Rows.Count, col), _
    Lookat:=xlPart, _
    LookIn:=xlFormulas, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlPrevious, _
    MatchCase:=False).Row
    Else
    GetLastRow = 1
    End If

    End Function

    关于vba - Excel VBA - 选择剪切粘贴错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39750169/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com