У меня были серьезные проблемы с вставкой данных из разных источников в Excel. Excel старается быть умным и делает глупости. Нам нужны данные в виде текста.
Проблема в том, что у нас много пользователей, и многие из них не имеют большого опыта работы с компьютерами, поэтому просить их использовать правый клик и «Специальная вставка» каждый раз, не вариант.
Я нашел решение в записи макроса, который использует 'Paste Special' и 'text', и переопределении ctrl-v, чтобы использовать эту функцию. Казалось, что он работал идеально, пока я не пометил ячейку, не скопировал ее и не попытался вставить ее. Макрос разбился.
Итак, мне нужна функция, которая может проверить, пытаюсь ли я вставить скопированный текст, а затем использовать эту строку:
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _
False
Пока я вставляю отмеченную ячейку, я хочу запустить эту строку (вставить только значение):
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Я не очень опытен в написании макросов VBA для Excel (и надеюсь, что мне никогда не понадобится), поэтому, если у кого-то есть несколько указателей, я был бы очень признателен.