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

Ответы на вопрос(2)

Ваш ответ на вопрос