发出使用范围.从其他地方调用两个位置时,在Excel VBA宏中选择



在编写VBA宏时,我试图通过分别存储列字母和行号来选择某个单元格,然后将它们与范围(X + Y)放在一起。选择但它不接受它的一半数字(如果我只是手动键入存储的数字,它确实有效)。我是否需要以某种方式存储或写入号码才能被接受?

我在调试中得到类型不匹配,所以我假设我在某个地方使用了错误的单词。

自学excel VBA目前,所以抱歉,如果这是一个容易的错误,我刚刚错过了。

一个简化的版本,没有额外的绒毛,如命名表等。基本上看起来像下面的

Dim NVCurrRN As Integer
Dim Prod As Variant
Prod = "B"
Sheets("Sheet2").Select
Range("A1").Select
ActiveCell.Offset(1, 0).Select
NVCurrRN = ActiveCell.Row
Range(Prod + NVCurrRN).Select

在调试时查看它,Prod = "B"正确和NVCurrRN = 2,我尝试了各种其他方法试图让它工作,但无法解决,虽然我确信我过去使用过类似的东西,没有问题。

(这是在循环中发生的,如果改变了什么,错误在第一次运行时显示,所以我认为这部分没有任何问题。)

(编辑,因为我没有意识到的例子,我混淆了人们与我的目标,我的错误,第一个范围并不意味着导致相同的地方选择在底部去。)

我很笨,用+代替&,感谢Timwilliams的回答。

我想应该这样写。

Prod = "B"
Sheets("Sheet2").Range("A1").Offset(1,0).Select
NVCurrRN = ActiveCell.Row
Range(Prod & NVCurrRN).Select

(编辑,因为我没有意识到的例子,我混淆了人们与我的目标,我的错误,第一个范围并不意味着导致相同的地方在底部的选择去。这只是之前代码的一个快速示例,以说明发生了什么。)

最新更新