Попытка удалить текст из текстового поля в пользовательской форме (Text = Label.Заголовок), но можно вводить только по одному за раз, как несколько

#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) за раз.