Страницы: 1
RSS
Макрос по очистке форматирования таблицы работает в Excel 2019 и не работает в Excel 2010
 
Добрый день.
Есть большой прайс от поставщика (6200 позиций+), необходимо сделать предварительную обработку, чтобы потом загрузить в складскую программу.
Прайс-образец в приложении (100 строк, чтобы загрузить на сайт). С помощью макрорекордера сделал макрос, добавил в него еще код.
В Excel 2019 работает нормально, но в конце после обработки при сохранении выдает такой текст "Рисунок слишком велик у будет усечен", хотя рисунка в файле нет.
В чем может быть причина? Как это исправить?
На компьютере, где будет работать макрос, стоит Excel2010, и там макрос "вылетает" в самом начале, на сортировке, см. фото.
2010й не понимает команду сортировки? Какую команду лучше использовать для сортировки?
Вверху таблицы 10 пустых строк (обычно), но бывает и другое число, поэтому я выделяю весь лист, снимаю выделение ячеек и запускаю сортировку по колонке А = Артикул поставщика. После этого получается таблица с данными сверху листа, и потом идут заголовки разделов, которые мне не нужны. Затем разделяю столбец с гиперссылкой на 2 колонки: в одной ссылка, в другой текст (в данном случае, код товара).

Помощь нужна, чтобы заставить работать макрос в Excel 2010 и исключить ошибку при сохранении "Рисунок слишком велик у будет усечен".
Заранее всем большое спасибо за помощь!


Код макроса
Код
Sub выделение_всего_листа_снятие_слияния_HL()
'
'выбор всего листа и снятие слияния ячеек

Cells.Select

    With Selection
        '.HorizontalAlignment = xlCenter
        '.VerticalAlignment = xlBottom
        '.WrapText = False
        '.Orientation = 0
        '.AddIndent = False
        '.IndentLevel = 0
        '.ShrinkToFit = False
        '.ReadingOrder = xlContext
        .MergeCells = False
    End With
    'сортировка по колонке А = код книги в издательстве
        Cells.Select
    ActiveWorkbook.Worksheets("TDSheet").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("TDSheet").Sort.SortFields.Add2 Key:=Range( _
        "A:A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("TDSheet").Sort
        .SetRange Range("A:W")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
  'перенос колонки с гиперссылками в крайний правый столбец
    Columns("B:B").Select
    Selection.Cut
    Range("X1").Select
    Selection.Insert Shift:=xlToRight
'выделение ссылки из гиперссылки,вставляет текст в любом месте листа, где есть гиперссылка (справа от ячейки)

Dim HL As Hyperlink

For Each HL In ActiveSheet.Hyperlinks
HL.Range.Offset(0, 1).Value = HL.Address
Next
'преобразование ссылки в обычный текст на всем листе
Cells.Hyperlinks.Delete
End Sub
 
Код
Add2
в 2010 не работает
замените на
Код
Add
 
Спасибо, эта ошибка исправилась. Сообщение "Рисунок слишком велик..." осталось. Чтобы закрыть файл надо дважды нажать на ок. Это можно как-то исправить?  
Изменено: vikttur - 11.06.2021 19:06:47
Страницы: 1
Наверх