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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2011, 13:51   #1
vamesc
Пользователь
 
Регистрация: 06.03.2011
Сообщений: 10
По умолчанию Печать верхних и нижних строк на каждом листе. Растяжка формул по объедененным ячейкам.

Здравствуйте! Подскажите как решить две задачи. Первая: распечатать на каждой странице верхние и нижние строки. Вторая: растянуть формулу по объедененым ячейкам без смещения номера ячейки на кол-во объедененных ячеек. В прилагаемом файле работа уже сделана, но сделана она в первой задаче дублированием нижних строк, во второй задаче ручным перебиванием номеров в ячейках, долго и нудно, хотя больше времени потратил на то как этого избежать).
Вложения
Тип файла: rar 800-001064-12 S2.rar (843.9 Кб, 21 просмотров)
vamesc вне форума Ответить с цитированием
Старый 07.03.2011, 22:26   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Для не ручного вбивания формул

Код:
Sub M_Formula()
Dim I As Integer,n As Integer
For n = 8 To 194 Step 6
  Range("A" & n).FormulaR1C1 = "=IF(ВИК!R[" & 6 - I * 5 & "]C=0,"""",ВИК!R[" & 6 - I * 5 & "]C)"
  Range("C" & n).FormulaR1C1 = "=IF(ВИК!R[" & 6 - I * 5 & "]C[11]=0,"""",ВИК!R[" & 6 - I * 5 & "]C[11])"
   Range("C" & n + 2).FormulaR1C1 = "=IF(ВИК!R[" & 4 - I * 5 & "]C[13]=0,"""",ВИК!R[" & 4 - I * 5 & "]C[13])"
   Range("C" & n + 4).FormulaR1C1 = "=IF(ВИК!R[" & 2 - I * 5 & "]C[13]=0,"""",ВИК!R[" & 2 - I * 5 & "]C[13])"
   Range("F" & n).FormulaR1C1 = "=IF(ВИК!R[" & 6 - I * 5 & "]C[7]="""","""",ВИК!R[" & 6 - I * 5 & "]C[7])"
   Range("F" & n + 2).FormulaR1C1 = "=IF(ВИК!R[" & 4 - I * 5 & "]C[6]="""","""",ВИК!R[" & 4 - I * 5 & "]C[6])"
   Range("H" & n).FormulaR1C1 = "=IF(ВИК!R[" & 6 - I * 5 & "]C[-1]="""","""",ВИК!R[" & 6 - I * 5 & "]C[-1])"
   Range("J" & n).FormulaR1C1 = "=IF(ВИК!R[" & 6 - I * 5 & "]C[-6]="""","""",ВИК!R[" & 6 - I * 5 & "]C[-6])"
   Range("W" & n).FormulaR1C1 = "=IF(ВИК!R[" & 6 - I * 5 & "]C[3]=0,"""",ВИК!R[" & 6 - I * 5 & "]C[3])"
   Range("V" & n + 1).FormulaR1C1 = "=IF(ВИК!R[" & 5 - I * 5 & "]C[5]=0,"""",ВИК!R[" & 5 - I * 5 & "]C[5])"
  I = I + 1
Next
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.03.2011, 06:33   #3
vamesc
Пользователь
 
Регистрация: 06.03.2011
Сообщений: 10
По умолчанию

doober, спасибо работает! А не могли бы вы хотя бы кратко описать, что и как работает, а то незная как в будущем приминить вашу помощь мне не удастся, ведь тоже самое мне нужно провернуть с листом ЧЕК ЛИСТ, макросы пока писать не умею, хочу научиться. Спасибо за отзыв!). Единственно, без решения вопроса с печатью, данный макрос берет значения из продублированных нижних строк, которые выступают как колон титулы, в листе ВИК они выделены зеленым цветом. Сначала я делал чтобы кол-во вводимых соединений было столько сколько хочу, но столкнувшись с этими двумя проблемами решил ограничить до 30, и в листе ВИК пришлось вставлять каждый раз нижние строки. Можно конечно удалить строки, выполнить макрос, а потом опять вставить их на место.

Последний раз редактировалось vamesc; 08.03.2011 в 06:54.
vamesc вне форума Ответить с цитированием
Старый 08.03.2011, 21:45   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Использовал инструмент Камера.
Посмотреть изменения диапазона -нажимаем Спин.
На пользовательской панели Печать есть кнопка ВИК.
Выведет на просмотр 4 страницы для печати.
Цитата:
А не могли бы вы хотя бы кратко описать, что и как работает
Нажал запись Макрорекодера.
Пощелкал по ячейкам с формулами.
Проанализировал зависимость в формулах от строки.
Запустил в цикл.
Вложения
Тип файла: rar 800-001064-12 S2.rar (877.3 Кб, 16 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 09.03.2011 в 12:09.
doober вне форума Ответить с цитированием
Старый 09.03.2011, 13:18   #5
vamesc
Пользователь
 
Регистрация: 06.03.2011
Сообщений: 10
По умолчанию

doober, спасибо еще раз! Вы здорово мне помогли. А про команду Камера узнал только от вас, полезная штука.
vamesc вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать нескольких страниц на листе, но по-хитрому argelios Microsoft Office Excel 5 01.02.2010 07:49
Перемещение по ячейкам строк в DBGrid .Phoenix БД в Delphi 10 25.09.2009 14:32
Макрос для обновления формул вручную только в одном листе Neo007 Microsoft Office Excel 7 26.09.2008 18:17
Заголовок на каждом листе печати JarVal HTML и CSS 6 13.05.2008 16:36
Совмещение строк по ячейкам в Excel asfa Microsoft Office Excel 6 16.03.2007 01:13