Страницы: 1
RSS
копирование с помощью выделения макросом, неверное копирование макросом.
 
Добрый день,
ранее пользовался windows 7, для копирования сводных таблиц использовался алагритм по примеру ниже :
Код
ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayZeros = True
      Dim rng1 As Range, oChart1 As ChartObject
      
    Set rng1 = SLSheet.Range(SLSheet.Cells(19, 1), SLSheet.Cells(LRow, LCol))
        With rng1
        .CopyPicture
        Set oChart1 = ActiveSheet.ChartObjects.Add(.Left, .Top, .Width, .Height)
        With oChart1.Chart
            .ChartArea.Border.LineStyle = 0
            .Paste
      .Export "\2sz.png"
      .Parent.Delete
    End With
    End With

Всё было замечательно , после чего произошла смена на windows 10.
Теперь вместо выделенной области макрос вставлет в файл 2sz какую- то дичь . Пример во вложении.
Да, это тажа самая сводная только в непонятном формате , при этом данное преображение происходит на этапе вставки , так как в буфере обмена находятся верное представление данных , достаточно просто их вставить. Данная проблема наблюдается только при сосздание объекта копирования макросом, если же работать с объектами напрямую к ним общараясь (вроде диаграм ), то всё работает корректно . Кто нибудь знает как это исправить ?
 
1. Код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
2. Зайдите в свой профиль и поменяйте отображаемое имя (логин) - не нужно подменять буквы цифрами и другими символами.
 
Код
ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayZeros = True
      Dim rng1 As Range, oChart1 As ChartObject
      
    Set rng1 = SLSheet.Range(SLSheet.Cells(19, 1), SLSheet.Cells(LRow, LCol))
        With rng1
        .CopyPicture
        Set oChart1 = ActiveSheet.ChartObjects.Add(.Left, .Top, .Width, .Height)
        With oChart1.Chart
            .ChartArea.Border.LineStyle = 0
            .Paste
      .Export "\2sz.png"
      .Parent.Delete
    End With
    End With
 
Макрос работает. Проверьте значение переменных LRow, LCol.
попробуйте выполнить макрос пошагово, если всё работает, то попробуйте вставить паузу после копирования и перед вставкой.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
Страницы: 1
Наверх