"" -6ren">
gpt4 book ai didi

vba - . 未选择工作表时复制方法失败

转载 作者:行者123 更新时间:2023-12-04 21:57:57 25 4
gpt4 key购买 nike

这是我的脚本的一部分,简单的循环将一些行从一张纸复制到另一张纸:

a = 3
With Sheets("ATD")
Do While .Range("A" & a) <> ""
If .Cells(a, 6).Value = "x" And .Cells(a, 8).Value = "y" Then
.Range(Cells(a, 1), Cells(a, 10)).Copy
Sheets("ART").Range("A" & Sheets("ART").Range("A" & Rows.Count).End(xlUp).row + 1).PasteSpecial xlPasteValues
End If
a = a + 1
Loop
End With

它失败了 几乎 每次在 .Range(Cells(a, 1), Cells(a, 10)).Copy行(运行时错误“1004”:应用程序定义的或对象定义的错误)。当我添加 .Select像这样的命令:
a = 3
With Sheets("ATD")
Do While .Range("A" & a) <> ""
If .Cells(a, 6).Value = "x" And .Cells(a, 8).Value = "y" Then
.Select
.Range(Cells(a, 1), Cells(a, 10)).Copy
Sheets("ART").Range("A" & Sheets("ART").Range("A" & Rows.Count).End(xlUp).row + 1).PasteSpecial xlPasteValues
End If
a = a + 1
Loop
End With

一切正常。

我知道我可以改变 .Copy在类似的东西上
Sheets("ATD").Range(Cells(a, 1), Cells(a, 10)).Value = Sheets("ART").Range(Cells(b, 1), Cells(b, 10)).Value
但我还有一个问题。如果 .Copy功能要求,我要复制的单元格在当前选定的工作表中,还是我在这里遗漏了什么?

最佳答案

你可以试试:

.Range(.Cells(a, 1), .Cells(a, 10)).Copy

这些点非常重要,因为它们引用了当前的 CellsSheet With Sheets("ATD") 中设置的对象线。

关于vba - . 未选择工作表时复制方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40846900/

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