gpt4 book ai didi

vba - 在一张纸上复制静态范围,然后根据单元格中的单个值将动态范围粘贴到另一张纸上

转载 作者:行者123 更新时间:2023-12-04 20:35:23 24 4
gpt4 key购买 nike

我对这个问题有三个部分。我在 Sheet1!A1 中有一个带有周数的单元格。我在 Sheet1!B1:F1 中有一个需要复制的静态范围。然后我需要将值粘贴到 Sheet2 中的动态范围中,偏移量为行的周数。这是我正在为我经常使用的工作表编写的一个更大的宏的一部分,但我似乎把这些部分写下来了。我可能过于简单化或过于简单化,但这就是我目前所拥有的。

Sub CopyPaste()
Sheets(1).Range("B1:F1").Copy
OffsetRange = Sheets(1).Cells(1,1).Value
Sheets(2).Cells(1+OffsetRange,1).Paste
End Sub

当我运行它时,它会给我一个运行时错误 9 或运行时错误 438。

有谁知道是什么导致了这些错误?当我粘贴范围时,当我粘贴到该位置时,单元格对象是否指向复制范围的第一个单元格?

最佳答案

试试看,

Option Explicit

Sub CopyPasteOffset()
Dim OffsetRange As Long
OffsetRange = Worksheets(1).Cells(1, 1).Value
Worksheets(1).Range("B1:F1").Copy _
Destination:=Worksheets(2).Cells(1 + OffsetRange, 1)
End Sub

.Paste方法是 Worksheet 的成员,而不是 Range 或 Cells。您可能会将其与 .PasteSpecial 混淆。它是 Range 对象的成员。在任何情况下,都没有必要,因为可以将目标直接应用于复制命令。

关于vba - 在一张纸上复制静态范围,然后根据单元格中的单个值将动态范围粘贴到另一张纸上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350009/

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