Благодаря Raystafarian я избавляюсь от оставшейся ячейки остатка проверки данных, удаляя все из рабочей книги перед выходом.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
'Delete all drop down lists
For Each ws In ActiveWorkbook.Worksheets
For Each shp In ws.Shapes
If shp.Name Like "Drop Down *" Then
shp.Delete
End If
Next shp
Next ws
Sheet1.Activate
Application.ScreenUpdating = True
End Sub
=================
Оригинальный вопрос
Я сталкиваюсь с досадной ошибкой в Excel VBA. Смотрите этот скриншот. Я использую лист Excel в качестве формы ввода пользователя. В форме у меня есть несколько мест, где я ставлю Проверка данных. После того, как пользователь нажал Enter, я использовал этот бит кода для очистки формы.
For Each a In Sheets("frmBienNhan").Range("C5:K31")
If a.Locked = False Then
a.Value = ""
End If
Next a
После запуска кода несколько раз появляются эти чертовы стрелки. Это похоже на выпадающий список проверки данных, но при нажатии на него список становится пустым. Я не могу выбрать ячейку за ним. Я не могу удалить его, даже если я использую команды «Очистить все проверки» или «Очистить все» в Excel. Это не имеет большого значения, но это раздражает пользователя, потому что ему приходится перемещать курсор в эту ячейку с помощью клавиатуры, иначе они не могут выбрать настоящий выпадающий список проверки данных.
Любые мысли или опыт по этой ошибке приветствуются.