我对VBA还是有点新鲜,而且我很难将对象定义为形状。我有一个带有矩形的Excel工作表,我想从我的VBA用户窗体中的组合框中更改此形状的颜色。我已经尝试了下面的代码和其他几种方法,但是我一直在遇到“形状”不是类型的错误,并且这阻止了我使用填充等成员。这可能有助于知道我正在使用VBA 2015,因为我知道这两年之间存在一些差异VBA 2015“形状”类型undefined
Dim rectangle as Shape
rectangle = sheet1.shapes("rectangle 1")
rectangle.Fill.Forecolor.RGB = RGB(255, 255, 255)
您需要使用'Set'关键字为变量分配对象时:'设置矩形= sheet1.shapes(“矩形1”)' – tigeravatar
在2015年你不需要为了这个词“套”分配对象。 “Let”和“set”不再受支持。工作很好,一起删除“设置”一词。但是仍然使用“形状”类型,这是我遇到的问题 – Nicki
在将对象分配给对象变量时,您绝对需要使用“Set”关键字。以下是Office 2013及更高版本MSDN网站的官方文档:https://msdn.microsoft.com/en-us/library/office/gg251642.aspx我无法找到任何内容来支持您的声明Let and Set is不再支持。也许在Visual Basic或.NET中,或者在创建自定义类时都是如此? – tigeravatar