VBA 缺少 Worksheet.Range 作为值并不断获取未设置对象变量(错误 91)
Posted
技术标签:
【中文标题】VBA 缺少 Worksheet.Range 作为值并不断获取未设置对象变量(错误 91)【英文标题】:VBA missing Worksheet.Range as a value and continuously get Object variable not set (Error 91) 【发布时间】:2018-09-20 19:39:05 【问题描述】:Public Sub InputData(var)
Dim WB As Workbook
Dim FilePath As String
FilePath = "C:\Users\Jordan.Jennings\Desktop\Programs\Test.xlsx"
WB = Workbooks.Open(FilePath)
ibox = 1
E = 8.5
N = 10
W = 7.5
S = 9.75
Do Until ibox = var
Set I = ActivePage.DrawRectangle(E, N, W, S)
I.Text = WB.Worksheets("Sheet1").Range("A1").Value
N = N - 0.25
S = S - 0.25
ibox = ibox + 1
Loop
End Sub
好的,我已经尝试了很多东西 - 我想要做的是在 visio 中从 excel 文档中绘制一堆带有文本的框,当我做工作表时(“Sheet1”)。Range .Range 没有作为一个选项出现,我抛出错误 91 请帮助我在这里不知所措
【问题讨论】:
愚蠢的问题,但工作簿实际上有一个名为Sheet1
的工作表?如果您尝试WB.Worksheets(1).Range("A1").Value
会怎样?该工作簿路径是否正确?我相信您还需要执行Set WB = ...
,因为您将WB
声明为工作簿。
【参考方案1】:
WB
是 Workbook
对象引用。
WB = Workbooks.Open(FilePath)
您不能像这样分配对象引用。
Set WB = Workbooks.Open(FilePath)
这应该可以解决它。
【讨论】:
他说了什么。 (没看到他没发set
)
是的,就是这样!哈这样令人沮丧的小失误。非常感谢!以上是关于VBA 缺少 Worksheet.Range 作为值并不断获取未设置对象变量(错误 91)的主要内容,如果未能解决你的问题,请参考以下文章