Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2014, 22:44   #1
irinasela
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 3
По умолчанию не работает шаблон *.xlt в Officce2010

Подскажите как решить проблему - очень давно был создан шаблон *.xlt, вызывается из приложения. При запуске на Window7 MS Office2010 вываливается на строке разрыва страницы

With ActiveWorkbook.Sheets(ActiveWorkboo k.Sheets.Count)
...
.Rows(CurRow).PageBreak = xlPageBreakManual
...
что-то не срослось...или перекомпилировать, помогите.
irinasela вне форума Ответить с цитированием
Старый 27.05.2014, 23:17   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

так я не понял:
Цитата:
не работает шаблон *.xlt
или
не работает МАКРОС в шаблоне?

если макрос - то как мы его починим, не видя вашего файла с кодом?
ошибка там может быть где угодно


PS: не перекомпилировать надо, а исправлять криво написанный код.
EducatedFool вне форума Ответить с цитированием
Старый 28.05.2014, 09:44   #3
irinasela
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 3
По умолчанию

Макрос работал 11лет, я не вижу что в нем окривело на MS Office2010.

Код:
Private Sub AAA()
  Dim I As Long, BaseRowCount As Long
  Dim TempString As String
  DocNum = 333
  CurNum = 444
  With ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
    .Cells(2, 3) = DocNum
    .Cells(2, 4) = CurNum
    .Cells(2, 5) = CurNum \ 10
    DocNum = DocNum + 1
    
    BaseRowCount = .UsedRange.Rows.Count
    
    For I = 4 To BaseRowCount
        If CInt(.Cells(I, 1).Value) > 0 Then
            CurRow = .UsedRange.Rows.Count + 1
            ActiveWorkbook.Sheets(1).Range(ActiveWorkbook.Sheets(1).Cells(114, 1), _
            ActiveWorkbook.Sheets(1).Cells(155, 1)).EntireRow.Copy
            .Rows(.UsedRange.Rows.Count + 1).Insert Shift:=xlShiftDown
            .Rows(CurRow).PageBreak = xlPageBreakManual
            
            CurRow = .UsedRange.Rows.Count - 3
          CurRow = CurRow + 1
      End If
    Next
  End With
End Sub



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.05.2014 в 09:52.
irinasela вне форума Ответить с цитированием
Старый 28.05.2014, 12:05   #4
irinasela
Новичок
Джуниор
 
Регистрация: 27.05.2014
Сообщений: 3
По умолчанию

Разрывы заработали путем замены .Rows(CurRow).PageBreak на .Cells(CurRow, 1).PageBreak .

Есть еще проблема -не вызывается формочка, на которой пользователь вводит входной параметр. Раньше работало так: сначала отображается форма, заполняется вх.парам, потом только открывается окно Excel.
irinasela вне форума Ответить с цитированием
Старый 28.05.2014, 16:08   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
еще проблема -не вызывается формочка
вы не на форуме телепатов...
мы - обычные люди, которые, не видя вашего файла с кодом, не имеют возможности догадаться о причинах проблемы...
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CSS шаблон не работает на сайте Kate96 HTML и CSS 6 29.11.2011 16:37
Дано: таблица в Exel (3 столбца, 4000 строк) и шаблон документа. Задача: Распечатать один и тот-же шаблон документа, под Evgenya040305 Помощь студентам 2 24.11.2011 22:21
почему у меня шаблон не работает? the_deer_one C# (си шарп) 6 16.05.2011 23:15