Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сбор данных определенных листов в один - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Сбор данных определенных листов в один
GGR Дата: Четверг, 01.02.2024, 20:57 | Сообщение № 1
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Добрый вечер. Прошу помощи в решении задачи. Необходимо объединить листы (1-31) А1:G15 в один сводный лист в этой книге. В интернете нашла макрос, но он в моем случае не подходит, тк объединяет все листы книги. В макросах не сильна совсем.
К сообщению приложен файл: dlja_foruma_nv.xlsm (57.2 Kb)
 
Ответить
СообщениеДобрый вечер. Прошу помощи в решении задачи. Необходимо объединить листы (1-31) А1:G15 в один сводный лист в этой книге. В интернете нашла макрос, но он в моем случае не подходит, тк объединяет все листы книги. В макросах не сильна совсем.

Автор - GGR
Дата добавления - 01.02.2024 в 20:57
cmivadwot Дата: Пятница, 02.02.2024, 00:56 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 459
Репутация: 86 ±
Замечаний: 0% ±

365
GGR, Добрый вечер. Очень непонятно...
К сообщению приложен файл: zh.xlsm (74.2 Kb)


Сообщение отредактировал cmivadwot - Пятница, 02.02.2024, 01:02
 
Ответить
СообщениеGGR, Добрый вечер. Очень непонятно...

Автор - cmivadwot
Дата добавления - 02.02.2024 в 00:56
DrMini Дата: Пятница, 02.02.2024, 05:35 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1679
Репутация: 226 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Доброе утро GGR,
В интернете нашла макрос

Тут думаю Вы заблуждаетесь.
Набросал вариант, как понял. Дублирующий столбец норма в середине таблицы убрал - думаю он ненужен. Хотя всегда можно вернуть его назад.
К сообщению приложен файл: dlja_foruma_nv.xlsx (75.3 Kb)
 
Ответить
СообщениеДоброе утро GGR,
В интернете нашла макрос

Тут думаю Вы заблуждаетесь.
Набросал вариант, как понял. Дублирующий столбец норма в середине таблицы убрал - думаю он ненужен. Хотя всегда можно вернуть его назад.

Автор - DrMini
Дата добавления - 02.02.2024 в 05:35
GGR Дата: Пятница, 02.02.2024, 06:19 | Сообщение № 4
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
cmivadwot, DrMini, Доброе утро. Очень извиняюсь , что вела вас в заблуждение. Мне надо было просто собрать данные с листов ( всех вводимых по дням) в итоговый. Пример как должно быть прилагаю (лист "ИТОГ"). Макрос сбор листов в один итоговый есть , но он мне не подходит ,тк у меня есть еще листы(база и свод). Макрос объединяет все листы.
К сообщению приложен файл: 3990879.xlsm (59.1 Kb)
 
Ответить
Сообщениеcmivadwot, DrMini, Доброе утро. Очень извиняюсь , что вела вас в заблуждение. Мне надо было просто собрать данные с листов ( всех вводимых по дням) в итоговый. Пример как должно быть прилагаю (лист "ИТОГ"). Макрос сбор листов в один итоговый есть , но он мне не подходит ,тк у меня есть еще листы(база и свод). Макрос объединяет все листы.

Автор - GGR
Дата добавления - 02.02.2024 в 06:19
Nic70y Дата: Пятница, 02.02.2024, 08:12 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8801
Репутация: 2295 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_727()
    Application.ScreenUpdating = False
    c = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row
    If c > 2 Then Sheets("ИТОГ").Range("a3:g" & c).Clear
    For u = 4 To Sheets.Count
        a = Application.Match(u, Sheets(u).Range("a3:a12"), 1)
        If IsNumeric(a) Then
            b = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets(u).Range("a3:g" & a + 2).Copy Sheets("ИТОГ").Range("a" & b)
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

апдэйт
ну и формулами поприколу в файле .xlsx
К сообщению приложен файл: 231.xlsm (82.9 Kb) · 3990879_1.xlsx (101.5 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 02.02.2024, 09:27
 
Ответить
Сообщение[vba]
Код
Sub u_727()
    Application.ScreenUpdating = False
    c = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row
    If c > 2 Then Sheets("ИТОГ").Range("a3:g" & c).Clear
    For u = 4 To Sheets.Count
        a = Application.Match(u, Sheets(u).Range("a3:a12"), 1)
        If IsNumeric(a) Then
            b = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets(u).Range("a3:g" & a + 2).Copy Sheets("ИТОГ").Range("a" & b)
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

апдэйт
ну и формулами поприколу в файле .xlsx

Автор - Nic70y
Дата добавления - 02.02.2024 в 08:12
GGR Дата: Пятница, 02.02.2024, 17:16 | Сообщение № 6
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Nic70y, это то что мне надо.Вы меня очень выручили . Благодарю
 
Ответить
СообщениеNic70y, это то что мне надо.Вы меня очень выручили . Благодарю

Автор - GGR
Дата добавления - 02.02.2024 в 17:16
GGR Дата: Пятница, 02.02.2024, 17:22 | Сообщение № 7
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Nic70y, есть ли такая возможность поправить , чтобы считало правильно кол-во человек и было разделение между датами ( все сплошное - не читаемо)
 
Ответить
СообщениеNic70y, есть ли такая возможность поправить , чтобы считало правильно кол-во человек и было разделение между датами ( все сплошное - не читаемо)

Автор - GGR
Дата добавления - 02.02.2024 в 17:22
Nic70y Дата: Суббота, 03.02.2024, 07:32 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8801
Репутация: 2295 ±
Замечаний: 0% ±

Excel 2010
GGR, не обратил внимания, что у Вас там формула,
вариант (1001.xlsm)
[vba]
Код
Sub u_727()
    Application.ScreenUpdating = False
    c = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row
    If c > 2 Then Sheets("ИТОГ").Range("a3:g" & c).Clear
    For u = 4 To Sheets.Count
        a = Application.Match(32, Sheets(u).Range("a3:a12"), 1)
        If IsNumeric(a) Then
            b = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row + 2
            Sheets("ИТОГ").Range("a" & b & ":g" & b + a - 1) = Sheets(u).Range("a3:g" & a + 2).Value
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
или изменить формулу (2002.xlsm)
Код
=СЧЁТЕСЛИМН(B3:B10;"*";A3:A10;A3)


[p.s.]обратите внимание, что макрос просматривает диапазон "a3:a12",
если его нужно увеличить - 12 замените на максимально возможное в пределах разумного[/p.s.]
К сообщению приложен файл: 1001.xlsm (83.8 Kb) · 2002.xlsm (84.7 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Суббота, 03.02.2024, 08:11
 
Ответить
СообщениеGGR, не обратил внимания, что у Вас там формула,
вариант (1001.xlsm)
[vba]
Код
Sub u_727()
    Application.ScreenUpdating = False
    c = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row
    If c > 2 Then Sheets("ИТОГ").Range("a3:g" & c).Clear
    For u = 4 To Sheets.Count
        a = Application.Match(32, Sheets(u).Range("a3:a12"), 1)
        If IsNumeric(a) Then
            b = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row + 2
            Sheets("ИТОГ").Range("a" & b & ":g" & b + a - 1) = Sheets(u).Range("a3:g" & a + 2).Value
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
или изменить формулу (2002.xlsm)
Код
=СЧЁТЕСЛИМН(B3:B10;"*";A3:A10;A3)


[p.s.]обратите внимание, что макрос просматривает диапазон "a3:a12",
если его нужно увеличить - 12 замените на максимально возможное в пределах разумного[/p.s.]

Автор - Nic70y
Дата добавления - 03.02.2024 в 07:32
GGR Дата: Суббота, 03.02.2024, 15:23 | Сообщение № 9
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Nic70y, шикарно, все работает. А можно вас еще попросить, если есть такая возможность, сделать, чтобы итоги по датам считались.
 
Ответить
СообщениеNic70y, шикарно, все работает. А можно вас еще попросить, если есть такая возможность, сделать, чтобы итоги по датам считались.

Автор - GGR
Дата добавления - 03.02.2024 в 15:23
Nic70y Дата: Понедельник, 05.02.2024, 07:46 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 8801
Репутация: 2295 ±
Замечаний: 0% ±

Excel 2010
если есть такая возможность
конечно
[vba]
Код
Sub u_727()
    Application.ScreenUpdating = False
    c = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row
    If c > 2 Then Sheets("ИТОГ").Range("a3:g" & c).Clear
    For u = 4 To Sheets.Count
        a = Application.Match(32, Sheets(u).Range("a3:a12"), 1)
        If IsNumeric(a) Then
            b = Sheets("ИТОГ").Cells(Rows.Count, "c").End(xlUp).Row + 2
            Sheets("ИТОГ").Range("a" & b & ":g" & b + a - 1) = Sheets(u).Range("a3:g" & a + 2).Value
            c = Sheets(u).Cells(Rows.Count, "b").End(xlUp).Row
            Sheets("ИТОГ").Range("b" & b + a & ":d" & b + a) = Sheets(u).Range("b" & c & ":d" & c).Value
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 1015.xlsm (84.7 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
если есть такая возможность
конечно
[vba]
Код
Sub u_727()
    Application.ScreenUpdating = False
    c = Sheets("ИТОГ").Cells(Rows.Count, "a").End(xlUp).Row
    If c > 2 Then Sheets("ИТОГ").Range("a3:g" & c).Clear
    For u = 4 To Sheets.Count
        a = Application.Match(32, Sheets(u).Range("a3:a12"), 1)
        If IsNumeric(a) Then
            b = Sheets("ИТОГ").Cells(Rows.Count, "c").End(xlUp).Row + 2
            Sheets("ИТОГ").Range("a" & b & ":g" & b + a - 1) = Sheets(u).Range("a3:g" & a + 2).Value
            c = Sheets(u).Cells(Rows.Count, "b").End(xlUp).Row
            Sheets("ИТОГ").Range("b" & b + a & ":d" & b + a) = Sheets(u).Range("b" & c & ":d" & c).Value
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 05.02.2024 в 07:46
GGR Дата: Понедельник, 05.02.2024, 21:10 | Сообщение № 11
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Nic70y, почему что у меня работать не стало.В чем может быть причина.
К сообщению приложен файл: narjady_smena_1_za_fevral.xls (454.5 Kb)
 
Ответить
СообщениеNic70y, почему что у меня работать не стало.В чем может быть причина.

Автор - GGR
Дата добавления - 05.02.2024 в 21:10
Nic70y Дата: Вторник, 06.02.2024, 07:40 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 8801
Репутация: 2295 ±
Замечаний: 0% ±

Excel 2010
GGR, ну во первых при добавлении листа нужно изменить начало цикла
(хотя конечно в данном случае это не повлияло, но все равно надо)
во вторых я конечно забыл изменить удаление старых данных
в третьих: что делать со строками, где напротив фио нет объема, с листами где только число в первой* ячейке?

пока так (файл)
К сообщению приложен файл: narjady_smena_2_za_fevral.xls (439.5 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 06.02.2024, 07:43
 
Ответить
СообщениеGGR, ну во первых при добавлении листа нужно изменить начало цикла
(хотя конечно в данном случае это не повлияло, но все равно надо)
во вторых я конечно забыл изменить удаление старых данных
в третьих: что делать со строками, где напротив фио нет объема, с листами где только число в первой* ячейке?

пока так (файл)

Автор - Nic70y
Дата добавления - 06.02.2024 в 07:40
GGR Дата: Вторник, 06.02.2024, 20:25 | Сообщение № 13
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Nic70y, по поводу строк напротив ФИО где нет объемов, - численность не считать. ( пример в дата за 7 число) ФИО стоят - объемов нет.
Если участников н-р на объем стоит только в 1 строке , расчет идет не верный.( считает только 1 человека) пример дата за 6 число.
Есть листы в которых нет ФИО и объема- только дата в первой ячейке- пусть они выходят нулевыми ( как сейчас в примере).
Во вкладке " расчет" формула очень большая, из-за этого не смогла прописать условие , чтобы округляла до 2 знаков и не выходило ЗНАЧ.Как то можно упростить условие?
К сообщению приложен файл: 1746340.xls (449.5 Kb)
 
Ответить
СообщениеNic70y, по поводу строк напротив ФИО где нет объемов, - численность не считать. ( пример в дата за 7 число) ФИО стоят - объемов нет.
Если участников н-р на объем стоит только в 1 строке , расчет идет не верный.( считает только 1 человека) пример дата за 6 число.
Есть листы в которых нет ФИО и объема- только дата в первой ячейке- пусть они выходят нулевыми ( как сейчас в примере).
Во вкладке " расчет" формула очень большая, из-за этого не смогла прописать условие , чтобы округляла до 2 знаков и не выходило ЗНАЧ.Как то можно упростить условие?

Автор - GGR
Дата добавления - 06.02.2024 в 20:25
Nic70y Дата: Среда, 07.02.2024, 08:01 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 8801
Репутация: 2295 ±
Замечаний: 0% ±

Excel 2010
Если участников н-р на объем стоит только в 1 строке , расчет идет не верный.( считает только 1 человека) пример дата за 6 число
я так и не понял как должно быть
расскажите конкретно, как должно отображаться в ИТОГ
Во вкладке " расчет" формула очень большая
для этого нужно создать отдельную тему

апдэйт
этот файл у Вас уже упорядочен, так что макрос можно упростить
К сообщению приложен файл: 1009.xls (436.0 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 07.02.2024, 10:15
 
Ответить
Сообщение
Если участников н-р на объем стоит только в 1 строке , расчет идет не верный.( считает только 1 человека) пример дата за 6 число
я так и не понял как должно быть
расскажите конкретно, как должно отображаться в ИТОГ
Во вкладке " расчет" формула очень большая
для этого нужно создать отдельную тему

апдэйт
этот файл у Вас уже упорядочен, так что макрос можно упростить

Автор - Nic70y
Дата добавления - 07.02.2024 в 08:01
GGR Дата: Среда, 07.02.2024, 20:57 | Сообщение № 15
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Nic70y, вы меня все правильно поняли, получилось как надо. Все прекрасно работает.Благодарю.
 
Ответить
СообщениеNic70y, вы меня все правильно поняли, получилось как надо. Все прекрасно работает.Благодарю.

Автор - GGR
Дата добавления - 07.02.2024 в 20:57
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!