Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 把绳子放在我后面_String_Vba_Replace - Fatal编程技术网

String 把绳子放在我后面

String 把绳子放在我后面,string,vba,replace,String,Vba,Replace,我是VBA新手,所以这应该是一个简单的问题。我想打电话给一个有字符串的潜艇。这个字符串需要放在Me后面。它应该看起来像Me.StringHereVB给我一个编译错误,说找不到成员或数据方法。字符串是一个实际的文本框控件,因此理论上它应该可以工作。我刚刚开始尝试调用subs,所以我不确定这可能很简单。这是代码 Sub CueBannerActive(ControlToUpdate As String) 'Activates the cue banner font settings Wit

我是VBA新手,所以这应该是一个简单的问题。我想打电话给一个有字符串的潜艇。这个字符串需要放在Me后面。它应该看起来像
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)
太棒了-谢谢!我知道它必须是简单的。您可能还想考虑是否将实际控件传递给子程序,而不仅仅是控件的名称,可能是一种更好的实现方法。