Vba 从单元格中获取Objectmember
我想动态创建图表,并遇到一个问题 通常(静态)我使用 选择。位置=XLLabelPositionLower 一切正常。现在我想从一个像 选择。位置=范围(“H18”)。值2 我刚刚将下面的XLLabelPostion写入H18 但是现在我得到一个Vba 从单元格中获取Objectmember,vba,excel,Vba,Excel,我想动态创建图表,并遇到一个问题 通常(静态)我使用 选择。位置=XLLabelPositionLower 一切正常。现在我想从一个像 选择。位置=范围(“H18”)。值2 我刚刚将下面的XLLabelPostion写入H18 但是现在我得到一个运行时错误:438:Object不支持该方法 我只是不知道该怎么办。我的猜测是,我不能使用“xllabelpositiondown”作为字符串,但我无法确定它是否属于其他类型 我认为我们在评论中没有回答您的问题。您希望在工作表上放置一些值以影响代码 好的
运行时错误:438:Object不支持该方法
我只是不知道该怎么办。我的猜测是,我不能使用“xllabelpositiondown”作为字符串,但我无法确定它是否属于其他类型 我认为我们在评论中没有回答您的问题。您希望在工作表上放置一些值以影响代码
好的,我们可以使用常量和范围的名称,所以我们可以定义一个常量,稍后再引用它
Option Explicit
Sub DefineMySymbol_RunOnce()
Sheet1.Names.Add "xlLabelPositionBelow", 1
Sheet1.Range("H18").Value2 = "xlLabelPositionBelow" '* this is just a string
End Sub
Sub UsingValueFromSheet()
'* here we will pull out the constant (1) and cast to a variable
Dim eDataLabelPosition As Excel.XlDataLabelPosition
eDataLabelPosition = CLng(Split(Sheet1.Names.Item(Sheet1.Range("H18").Value2).RefersTo, "=")(1))
'* eDataLabelPosition should now appear in Locals Window as xlLabelPositionBelow
Stop
'* and now you can set you Position
'Selection.Position = eDataLabelPosition
End Sub
我认为我们在评论中没有回答你的问题。您希望在工作表上放置一些值以影响代码
好的,我们可以使用常量和范围的名称,所以我们可以定义一个常量,稍后再引用它
Option Explicit
Sub DefineMySymbol_RunOnce()
Sheet1.Names.Add "xlLabelPositionBelow", 1
Sheet1.Range("H18").Value2 = "xlLabelPositionBelow" '* this is just a string
End Sub
Sub UsingValueFromSheet()
'* here we will pull out the constant (1) and cast to a variable
Dim eDataLabelPosition As Excel.XlDataLabelPosition
eDataLabelPosition = CLng(Split(Sheet1.Names.Item(Sheet1.Range("H18").Value2).RefersTo, "=")(1))
'* eDataLabelPosition should now appear in Locals Window as xlLabelPositionBelow
Stop
'* and now you can set you Position
'Selection.Position = eDataLabelPosition
End Sub
XLLabelPositionLower是表示数字而不是字符串的符号。奇怪的是,在我的对象浏览器中找不到这个符号。啊,你打错了!!你知道什么数字代表什么位置吗?正在检查msdn我找不到它请检查所述符号的拼写。XLLabelPositionLower vs XLLabelPositionLower,你掉了一个i。正确的符号解析为数字1。xlLabelPositionBelow
的值为1,检查MSDN的此链接:找到数字的最简单方法是在即时窗口中键入?xlLabelPositionBelow
。xlLabelPositionBelow是表示数字而不是字符串的符号。奇怪的是,在我的对象浏览器中找不到这个符号。啊,你打错了!!你知道什么数字代表什么位置吗?正在检查msdn我找不到它请检查所述符号的拼写。XLLabelPositionLower vs XLLabelPositionLower,你掉了一个i。正确的符号解析为数字1。xlLabelPositionBelow
的值为1,检查MSDN的此链接:找到数字的最简单方法是在即时窗口中键入?xlLabelPositionBelow
。