String 字符串操作VBA Excel
我可能起得太晚了,但我不知道如何进行基本的字符串操作 我试图在单击复选框后获得一个文本框,在标签上添加值,然后在取消选中复选框时删除该字符串,无论该字符串在文本框中的什么位置。我在添加标签后将其清除,以便用户不能重复添加字符串 所以,在尝试了一些不同的事情之后,我仍然无法理解这一点。此版本的默认字符串为“”。我试着将值反弹,但结果仍然无效 任何指示都很好,谢谢String 字符串操作VBA Excel,string,vba,excel,String,Vba,Excel,我可能起得太晚了,但我不知道如何进行基本的字符串操作 我试图在单击复选框后获得一个文本框,在标签上添加值,然后在取消选中复选框时删除该字符串,无论该字符串在文本框中的什么位置。我在添加标签后将其清除,以便用户不能重复添加字符串 所以,在尝试了一些不同的事情之后,我仍然无法理解这一点。此版本的默认字符串为“”。我试着将值反弹,但结果仍然无效 任何指示都很好,谢谢 Private Sub CheckBox1_Click() Dim chxbox1cmt As String Dim T
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
移动到模块级别。您当前将其声明为局部变量,因此在它离开作用域后(在End Sub
处),您在其中输入的任何值都会消失
如果我理解正确,您需要将
TxtString
移动到模块级别。您当前将其声明为局部变量,因此在它离开作用域后(在End Sub
处),您在其中输入的任何值都会消失
啊,啊,啊,啊,该死,这对我来说是一个很大的疏忽。忘了在潜水艇结束时清理variabel了。Thanksaaaaahhhh该死,这对我来说是一个很大的疏忽。忘了在潜水艇结束时清理variabel了。谢谢
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