Добрый день, товарищи. Помогите, пожалуйста. С вба я дружу не очень хорошо, только начинаю немного изучать. Суть в том, что я написал код для автоматического копирования данных с одного листа на другой . Нужно, чтобы все ячейки вставились значениями, но работает только функция Paste.
Пробовал PasteSpecial Paste:=xlPasteValues, не работает, выдаёт ошибку. А если я просто беру копирую часть ячеек иначе (Range(...).Copy и т.д., тогда значениями вставляется..)
Подскажите, в чём дело. Переписывать по-другому макрос не хочу, потому что практически не умею и на это уйдёт много времени, ибо на этот код убил массу времени
Два варианта: 1. Приравнивать диапазоны: Диапазон.value на первом листе = диапазону.value на втором листе. 2. После копирования, на листе, куда скопировали, формулы превратить в значение: выполнить строку Диапазон.value = Диапазон.value
Show PasteSpecial method as it applies to the Worksheet object. Pastes the contents of the Clipboard onto the sheet, using a specified format. Use this method to paste data from other applications or to paste data in a specific format. expression.PasteSpecial(Format, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, NoHTMLFormatting) expression Required. An expression that returns a Worksheet object. Format Optional Variant. A string that specifies the Clipboard format of the data. Link Optional Variant. True to establish a link to the source of the pasted data. If the source data isn’t suitable for linking or the source application doesn't support linking, this parameter is ignored. The default value is False. DisplayAsIcon Optional Variant. True to display the pasted as an icon. The default value is False. IconFileName Optional Variant. The name of the file that contains the icon to use if DisplayAsIcon is True. IconIndex Optional Variant. The index number of the icon within the icon file. IconLabel Optional Variant. The text label of the icon. NoHTMLFormatting Optional Variant. True to remove all formatting, hyperlinks, and images from HTML. False to paste HTML as is. The default value is False.
Т.е. метод PasteSpecial для листа не предусматривает копирования значений, вот и все дела Ах да, Worksheets("111.xlsm") - это ахинея. У Вас есть лист с таким именем?