Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает VPageBreaks / 5 сообщений из 5, страница 1 из 1
19.06.2015, 17:58
    #38988409
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает VPageBreaks
Добрый день!

Возникла такая засада, бьюсь уже несколько дней.
Не могу установить вертикальные линии при формировании области печати. Ошибка "application-defined or object-defined error " появляется на установке вертикальной линии.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
  ws.Activate
  i = 1
  endc = 40
  While i <= ActiveSheet.VPageBreaks.Count
--->>    Set ActiveSheet.VPageBreaks(i).Location = ActiveSheet.Range(ActiveSheet.Cells(1, endc), ActiveSheet.Cells(1, endc))
    i = i + 1
    endc = endc + 36
  Wend



Как только уже не пробовал и так
Код: vbnet
1.
Set ActiveSheet.VPageBreaks(1).Location = Columns(4) 


и так
Код: vbnet
1.
Set ActiveSheet.VPageBreaks(1).Location = Cells(10, 4) 


и так
Код: vbnet
1.
2.
3.
4.
Dim rng as Range
rng = Cells(1, 40)
str = rng.Address(False, False)
Set ActiveSheet.VPageBreaks(1).Location = Range(str)


Ничего не работает... нужна итерационность по столбцам.
Запись макроса выдает строчку,
Код: vbnet
1.
Set ActiveSheet.VPageBreaks(1).Location = Range("AN5")

но и эта работает через раз, не пойму в чем дело.

Заранее спасибо!
...
Рейтинг: 0 / 0
20.06.2015, 15:14
    #38988909
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает VPageBreaks
У меня только вот как-то так получилось
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
On Error Resume Next
For i = Me.VPageBreaks.Count To 1 Step -1
  Me.VPageBreaks(i).Delete
Next
On Error GoTo 0

For i = 4 To 40 Step 4
  Me.VPageBreaks.Add Me.Cells(1, i)
Next

почему перехват ошибок? а хрен его знает! попытка обращения к элементу
VPageBreaks(VPageBreaks.Count)
и к некоторым предыдущим выдает ошибку, они как-то своей жизнью живут...
...
Рейтинг: 0 / 0
20.06.2015, 19:10
    #38988962
hclubmk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает VPageBreaks
В области печати данные присутствуют?
Если да - никаких аномалий не наблюдаю, с кодом Shocker.Pro
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
For i = Application.Worksheets(1).VPageBreaks.Count To 1 Step -1
  Application.Worksheets(1).VPageBreaks(i).Delete
Next

For i = 4 To 40 Step 4
  Application.Worksheets(1).VPageBreaks.Add Application.Worksheets(1).Columns(i)
Next



Кстати, endurance , без Set , ошибка не возникает, или я не о том?
...
Рейтинг: 0 / 0
21.06.2015, 12:09
    #38989111
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает VPageBreaks
Shocker.Pro,

большое спасибо, что откликнулись! Ваш метод работает!
В начале проекта хотел добавлять методом Add вертикальные линии, но он добавлял к уже существующим линиям мои вновь созданные, поэтому от него отказался. Сейчас работает почему-то...Кстати, если удалять вертикальные линии методом Delete они не удаляются, остаются на своих же местах, зато потом когда проставляю новые вертикальные линии на нужное мне место, те линии которые были раньше перемещаются на указанное мною место.
...
Рейтинг: 0 / 0
21.06.2015, 12:12
    #38989112
endurance
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает VPageBreaks
hclubmk,

Спасибо, что откликнулись!
Данные присутствуют. Все заработало. Кстати да, на Set как раз и возникала ошибка. Если Set убирал, то никаких изменений не происходило, вертикальные линии оставались на своих прежних местах.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не работает VPageBreaks / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]