string操作VBA Excel

我可能已经太晚了,但我不知道如何做基本的string操作。

我试图获得一个文本框,单击checkbox后添加值的forms标签,然后删除该string时取消checkbox,无论该string在文本框中的位置。 添加后清除标签,以便用户不能重复添加string。

所以,在尝试了几个不同的东西之后,我仍然无法弄清楚。 这个版本编辑了string默认为“”。 我试图反弹的价值,但仍然最终不工作。

任何指针会很好,谢谢

Private Sub CheckBox1_Click() Dim chxbox1cmt As String Dim TxtString As String Dim myString As String chxbox1cmt = Label1.Caption If CheckBox1.Value = True Then myString = chxbox1cmt TxtString = TxtString + myString TextBox1.Value = TxtString myString = Left(InStr(TxtString, Len(myString)), Len(myString)) Label1.Caption = vbNullString End If If CheckBox1.Value = False Then TxtString = TxtString - Left(InStr(myString, myString), myString) TextBox1.Value = TxtString End If End Sub 

如果我正确理解问题,则需要将TxtString移动到模块级别。 你现在把它声明为一个局部variables,所以你放入它的任何值都会在它离开作用域(在End Sub )之后消失。

 Private TxtString As String Private Sub CheckBox1_Click() Dim chxbox1cmt As String Dim myString As String chxbox1cmt = Label1.Caption If CheckBox1.Value = True Then myString = chxbox1cmt TxtString = TxtString + myString TextBox1.Value = TxtString myString = Left$(InStr(TxtString, Len(myString)), Len(myString)) Label1.Caption = vbNullString Else TxtString = TxtString - Left$(InStr(myString, myString), myString) TextBox1.Value = TxtString End If End Sub