gpt4 book ai didi

vba - 需要帮助了解不合格的范围

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

有人可以帮我理解为什么会这样:

Sub CommandButton1_Click()
Sheets("Inventory Data").Range("A1:G1").Copy
Sheets("Desig From Inv").Range("A1").PasteSpecial xlPasteValues
End Sub

但是,这不?
Sub CommandButton1_Click()
Sheets("Inventory Data").Range(Cells(1, 1), Cells(1, 7)).Copy
Sheets("Desig From Inv").Range("A1").PasteSpecial xlPasteValues
End Sub

我真的希望列号最终成为一个变量。像这样:
Sub CommandButton1_Click()
Sheets("Inventory Data").Range(Cells(1, 1), Cells(1, i)).Copy
Sheets("Desig From Inv").Range("A1").PasteSpecial xlPasteValues
End Sub

我尝试了多种形式将“细胞”纳入“范围”。

谢谢!

最佳答案

这个说法:

Sheets("Inventory Data").Range(Cells(1, 1), Cells(1, i)).Copy

真的是这样做的:
ActiveWorkbook.Sheets("Inventory Data") _
.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(1, i)) _
.Copy

除非 ActiveWorkbook.Sheets("Inventory Data")ActiveSheet ,该语句会爆炸,因为您正在使用另一张纸上的范围来获取 ActiveWorkbook.Sheets("Inventory Data") 上的范围.

满足所有条件!

...一个 With block 使这更容易:
With Worksheets("Inventory Data")
.Range(.Cells(1, 1), .Cells(1, i)).Copy
End With

我将允许自己在这里插入一点;我正在开发一个(免费和开源的)VBE 插件,它可以很容易地为您找到这些错误 - 粘贴您的代码 at the bottom of this page (虽然它在实际的 VBE 中运行得更快)查看 Rubberduck 可以在您的代码中找到的所有内容 - 它并不完美(目前),但总比没有好:

Rubberduck inspection results

关于vba - 需要帮助了解不合格的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42864375/

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