#vba #text
#vba #текст
Вопрос:
Private Sub Option_Remove_device_Click()
If Uf_Device_selection.Option_Add_device.Value = True Then
Sheets("Sheet1").range("B2") = "Add"
Else
Sheets("Sheet1").range("B2") = "Remove"
End If
End Sub
…
Private Sub Label_01_Click()
If Uf_Device_selection.Option_Add_device.Value = True Then
Text_Device_list = Label_01.Caption " , " Text_Device_list.Value
Else
Text_Device_list.Text = LCase(Trim(Label_01.Caption)) ''''this is the section i am stuck on '''
End If
End Sub
…
Private Sub Label_02_Click()
If Uf_Device_selection.Option_Add_device.Value = True Then
Text_Device_list = Label_02.Caption " , " Text_Device_list.Value
Else
Text_Device_list.Text = LCase(Trim(Label_02.Caption))''''this is the section i am stuck on '''
End If
End Sub
при использовании trim он удаляет все, кроме метки. Заголовок, на который я нажал, мне просто нужно, чтобы он работал наоборот. например
Текстовое поле показывает:
Label_02.Caption , Label_02.Caption, Label_02.Caption, Label_01.Caption, Label_02.Caption
и теперь я хочу удалить только один Label_02.Caption из текстового поля, нажав Label_02
любая помощь, которую вы высоко оценили
Ответ №1:
Private Sub La02_Click()
If Uf_Device_selection.Option_Add_device.Value = True Then
Text_Device_list = La02.Caption " , " Text_Device_list.Value
Else
Text_Device_list = Replace(Text_Device_list.Value, La02.Caption " , ", "", 1, 1)
End If
End Sub
Поэтому мне просто пришлось использовать функцию Replace, которая отсортировала этот фрагмент кода для меня. Теперь, когда выбран параметр удаления, вы можете удалять по одному (La.Caption) за раз.