为什么Set Range的变量为空? [问题已成为原因,并且决议不再需要]

时间:2017-06-07 19:27:14

标签: excel vba range

注意:我在下面添加了一些代码,以便更好地了解我尝试做的事情。如果有更好的方法,请分享。

虽然这是关于同一个项目,但它是一个不同的主题,所以我开始一个新的主题。其他线程的问题仍未得到解决。

这个问题是解决其他问题的可能途径,但问题完全不同,将影响该项目的其他部分。

Dim rngcellsItemSKu As Excel.Range
Dim rngnameItemSKU
Dim rngnameItemSKUAsString As String
Dim ST as Recordset
Dim db as Database

Set rngcellsItemSKu = Excel.Range(Cell1:="V!A10:A15")

rngnameItemSKU = rngcellsItemSKu

rngcellsItemSKu.Name = "ItemSKU"
rngnameItemSKU = rngcellsItemSKu.Name

set db = DBEngine.OpenDatabase([DBFILENAME], False, False, "Excel 12.0;")

ST = "SELECT * FROM [V$] WHERE "" & rngnameItemSKU & "" IS NOT NULL"
Set rst = db.OpenRecordset(ST)

问题开始的set rng****行。当我处于调试模式时,它没有任何价值。当我将鼠标光标放在rngcellsItemSKu变量上时,它什么也没显示。稍后,当我尝试命名范围以便我可以引用它时,代码崩溃了。为什么会这样?

1 个答案:

答案 0 :(得分:0)

哇,你正在使用什么奇怪的方法:)第一次看到这样的事情:)

试试这个:

Dim rngcellsItemSKu As Range
Dim rngnameItemSKU
Dim rngnameItemSKUAsString As String

Set rngcellsItemSKu = Sheets("V").Range("A10:A15")