Доброго времени суток. Есть программа, но могу пользоваться ей только в версии Excel 2003, потому что в Excel 2007 и выше, графические значки очень долго рисуются. Подскажите в чем проблема, почему так происходит и как решить эту проблему.
Доброго времени суток. Есть программа, но могу пользоваться ей только в версии Excel 2003, потому что в Excel 2007 и выше, графические значки очень долго рисуются. Подскажите в чем проблема, почему так происходит и как решить эту проблему.urzp
Сообщение отредактировал urzp - Воскресенье, 21.04.2013, 20:48
Sub Кнопка1_Щелчок() Dim i&, j& With Sheets("Лист2").Shapes("47") For j = 1 To 10 For i = 1 To 20 With .Duplicate .Left = 200 + i * 25 .Top = 100 + 30 * j .Name = i & j End With Next i Next j End With End Sub
[/vba]
В Е2010 (2007) можно попробовать как-то так [vba]
Код
Sub Кнопка1_Щелчок() Dim i&, j& With Sheets("Лист2").Shapes("47") For j = 1 To 10 For i = 1 To 20 With .Duplicate .Left = 200 + i * 25 .Top = 100 + 30 * j .Name = i & j End With Next i Next j End With End Sub
Копировать можно один раз; и обновление экрана отключить. Вот так тоже вроде работает: [vba]
Код
Sub Кнопка1_Щелчок22() Application.ScreenUpdating = False Sheets("Лист2").Shapes("47").Copy With Sheets("Лист1") For j = 1 To 10 For i = 1 To 20 .Paste Selection.Left = 200 + i * 25 Selection.Top = 100 + 30 * j Next i Next j End With Application.ScreenUpdating = True Application.CutCopyMode = False End Sub
[/vba]
Копировать можно один раз; и обновление экрана отключить. Вот так тоже вроде работает: [vba]
Код
Sub Кнопка1_Щелчок22() Application.ScreenUpdating = False Sheets("Лист2").Shapes("47").Copy With Sheets("Лист1") For j = 1 To 10 For i = 1 To 20 .Paste Selection.Left = 200 + i * 25 Selection.Top = 100 + 30 * j Next i Next j End With Application.ScreenUpdating = True Application.CutCopyMode = False End Sub