Очистить содержимое определенных выбранных строк listview?

#excel #vba #listview #userform

#excel #vba #listview #пользовательская форма

Вопрос:

Я пытался создать событие для своего приложения.

Я хочу иметь возможность щелкнуть по строке и после выбора этой строки нажать на мою кнопку «Удалить» и удалить строку из моей listview и из моей электронной таблицы.

Я пытался использовать свойства ClearContent и Remove , но ни одно из них не сработало, и я получил различные ошибки, такие как несоответствие типов (ошибка 13).

Это мои пробы фрагментов кода:

 Private Sub BtnDelete_Click()
    
    ListViewEntries.ListItems.SelectedItem.Remove
    
End Sub
  
 Private Sub BtnDelete_Click()
    
    ListViewEntries.SelectedItem = ClearContents
    
End Sub
  
 Private Sub BtnDelete_Click()
    
    ListViewEntries.SelectedItem.ClearContents(i)
    
End Sub
  

Не уверен, в чем проблема. Кто-нибудь может помочь?

Ответ №1:

Это должно быть

 Private Sub BtnDelete_Click()        
    ListViewEntries.ListItems.Remove ListViewEntries.SelectedItem.Index        
End Sub
  

или

 Private Sub BtnDelete_Click()        
    Call ListViewEntries.ListItems.Remove(ListViewEntries.SelectedItem.Index)
End Sub
  

Вызов означает:

 ListViewEntries.ListItems.Remove(IndexOfItemToRemove)
  

Возьмите список ListViewEntries , перейдите в ListItems и Remove что-нибудь. Теперь Remove нужен инструмент, который нужно удалить. Этот аргумент является индексом элемента в списке. Поскольку вы хотите удалить выбранный элемент, вам необходимо отправить индекс выбранного элемента ListViewEntries.SelectedItem.Index в качестве параметра для Remove метода.

Комментарии:

1. Привет, друг! Я попробовал ваш код, и он работает, но как только я обновляю свой listview, строка все еще там. То же самое с моей электронной таблицей. У вас есть какие-либо идеи, почему?

2. Это только удаляет элемент из самого представления списка, но не манипулирует никакими данными рабочего листа! Это был бы совершенно другой вопрос. Поэтому вам нужно будет задать новый вопрос и показать, как вы заполняете поле списка данными.