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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 14:22   #1
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию Копирование строки с формулой

Такая проблема - в книге 1000 листов с карточками-листами клиентов а на самом 1 листе (сводный лист) - сводные данные по строкам которые собираются с листов клиентов
те ячейка A1 сводного листа выбирает max значения из диапазона B1:B500 листа1:
ячейка A2 сводного листа выбирает max значения из диапазона B1:B500 листа2;
ячейка A3 сводного листа выбирает max значения из диапазона B1:B500 листа3; и тд

нужен именно макрос на сводный лист который отрабатывает формулы в диапазон A1:A500

=МАКС(' 2'!$A$1:$A$5000) в ячейку A1 сводного листа
=МАКС(' 3'!$A$1:$A$5000) в ячейку A2 сводного листа
=МАКС(' 2'!$A$1:$A$5000) в ячейку A3 сводного листа
и тд
тк строк в сводном листе много при прогрессии или перетаскивании номера листов не изменяются - напряжно 1000 ячеек перебить на нужный лист
Вложения
Тип файла: rar Книга1.rar (1.6 Кб, 6 просмотров)
Uralmaster вне форума Ответить с цитированием
Старый 27.01.2011, 14:40   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Public Sub www()
    Dim sh As Worksheet, i&
    i = 1
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> "Сводный лист" Then
            Worksheets("Сводный лист").Cells(i, 1).FormulaLocal = "=МАКС('" & sh.Name & "'!A2:A500)"
            i = i + 1
        End If
    Next
End Sub
Вложения
Тип файла: rar Книга1.rar (8.4 Кб, 7 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 27.01.2011, 16:17   #3
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

Все работает спасибо за поддержку только блин еще 2 условий не учел:
1.Макрос нужен не по кнопке а в исходном тексте листа
2.В сводном листе данные собираются не с ячейки A1 а в диапазоне E4:E504 - как этот диапазон указать ?
Вложения
Тип файла: rar Сводный лист.rar (8.3 Кб, 8 просмотров)
Uralmaster вне форума Ответить с цитированием
Старый 27.01.2011, 16:40   #4
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию

можно ссылочки на учебники VBA толковые чтоб элементарные формулы писать

Последний раз редактировалось Uralmaster; 27.01.2011 в 18:21.
Uralmaster вне форума Ответить с цитированием
Старый 28.01.2011, 00:19   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от Uralmaster Посмотреть сообщение
1.Макрос нужен не по кнопке а в исходном тексте листа
Ну в тексте, а дальше? Как его запускать, силой мысли? Диапазон поправил.
Вложения
Тип файла: rar Сводный лист.rar (8.5 Кб, 8 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Копирование строки из DBGrid VHomer БД в Delphi 8 28.09.2010 13:59
Как быстро сложить связанные строки с формулой Tidus Microsoft Office Excel 8 31.05.2010 10:16
Копирование строки кода artemavd Общие вопросы Delphi 6 27.03.2009 15:38