String 把绳子放在我后面
我是VBA新手,所以这应该是一个简单的问题。我想打电话给一个有字符串的潜艇。这个字符串需要放在Me后面。它应该看起来像String 把绳子放在我后面,string,vba,replace,String,Vba,Replace,我是VBA新手,所以这应该是一个简单的问题。我想打电话给一个有字符串的潜艇。这个字符串需要放在Me后面。它应该看起来像Me.StringHereVB给我一个编译错误,说找不到成员或数据方法。字符串是一个实际的文本框控件,因此理论上它应该可以工作。我刚刚开始尝试调用subs,所以我不确定这可能很简单。这是代码 Sub CueBannerActive(ControlToUpdate As String) 'Activates the cue banner font settings Wit
Me.StringHere
VB给我一个编译错误,说找不到成员或数据方法。字符串是一个实际的文本框控件,因此理论上它应该可以工作。我刚刚开始尝试调用subs,所以我不确定这可能很简单。这是代码
Sub CueBannerActive(ControlToUpdate As String)
'Activates the cue banner font settings
With Me.ControlToUpdate
.Font.Italic = True
.Font.Name = "Verdana"
.ForeColor = &H80000011
End With
End Sub 'CueBannerActive(ControlToUpdate As String)
我是这样称呼它的
CueBannerActive "txbShipToNameOne"
首先,您需要更改Object的变量,您需要这样做,因为VBA不理解“txbShipToNameOne”作为一个对象,所以您不能使用它,正如我所理解的,您正在使用一个表单,试图更改标签/对象。所以潜艇会是这样的:
Sub CueBannerActive(ByVal ControlToUpdate As Object)
'Activates the cue banner font settings
With ControlToUpdate
.Font.Italic = True
.Font.Name = "Verdana"
.ForeColor = &H80000011
.Caption = "I was here"
End With
End Function
我在一个按钮中调用了它,如下所示:
Private Sub cmdButton_Click()
Call CueBannerActive(Me.txbShipToNameOne)
End Sub
Me.txbshiptonameone是您想要更改的对象,因此如果您想将代码重新用于许多标签,您可以这样做。与Me.Controls(ControlToUpdate)
太棒了-谢谢!我知道它必须是简单的。您可能还想考虑是否将实际控件传递给子程序,而不仅仅是控件的名称,可能是一种更好的实现方法。