Range.ClearContents очищает системный буфер обмена - обходной путь? (VBA / Excel)
проблема
Лист данных, над которым я работаю регулярно, хочет сбросить содержимое частей представления (чтобы оно было пустым). Исторически у нас были проблемы с пользователями, которые говорили, что этот лист очищает их системный буфер обмена.
Похоже, есть проблема с использованиемRange.ClearContents
очистить эти значения.
# Grab some data from cells onto the clipboard
Sub ClearTheClipboardWhenTheUserIsntExpectingIt()
Cells(1, 1).EntireRow.ClearContents ' Or something like that
End Sub
Этого должно быть достаточно, чтобы повторить проблему.
Временное решение
Мой вопрос о возможном обходном пути, который должен сделать:
Dim r as Range
...
r.Value2 = Empty
Вопросов)
Есть ли очевидная причина, почему этоне разумный обходной путь?Есть ли еще какой-то канонический способ очистки содержимого набора ячеек без очистки буфера обмена?Я просто используюClearContents
неправильно?Я не хочу проходить через большую кодовую базу и искать / заменять это поведение, если позже выяснится, что мне нужно вернуться и исправить это, потому что я внес какую-то ошибку.
Изменить: я должен отметить, что я использую Excel 2007