Excel VBA Macro: проверка содержимого (из буфера обмена?) Перед вставкой

У меня были серьезные проблемы с вставкой данных из различных источников в Excel. Excel старается быть умным и делает глупости. Нам нужны данные в виде текста.

Проблема в том, что у нас много пользователей, и многие из них не имеют большого опыта работы с компьютерами, поэтому просят их использовать щелчок правой кнопкой мыши и «Специальная вставка». каждый раз не вариант.

Я нашел решение в записи макроса, который использует «Специальная вставка». и 'текст' и переопределение ctrl-v для использования этой функции. Казалось, что он работал идеально, пока я не пометил ячейку, не скопировал ее и не попытался вставить ее. Макрос разбился.

Итак, мне нужна функция, которая может проверить, пытаюсь ли я вставить скопированный текст, а затем использовать эту строку:

 ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _
        False

Если я вставляю помеченную ячейку, я хочу запустить эту строку (вставить только значение):

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Я не очень опытен в написании макросов VBA для Excel (и я надеюсь, что мне это никогда не понадобится), поэтому, если у кого-то есть несколько указателей, я буду очень признателен.

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

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