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

Вход

Регистрация

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

 

= Мир MS Excel/Не растягивается формула по необходимой последовательности. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Не растягивается формула по необходимой последовательности.
VSpolun Дата: Четверг, 10.10.2013, 15:00 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Опишу файл. есть 4 человека, расходующие деньги(соответственно 4 закладки). в 5-й закладке ("Общее") нужно совместить данные из первых четырех столбцов. Через формулу "=" переношу первые строки из 4-х листов в 5-й. получается 4 строки, далее нужно растянуть ниже формулу для того чтобы автоматически переходили данные из первых 4-х. НО эксель, нехороший программ, формулы вставляет в другой последовательности(
Помогите пжлста....
К сообщению приложен файл: 3587037.xlsx (22.5 Kb)


Сообщение отредактировал VSpolun - Четверг, 10.10.2013, 15:24
 
Ответить
СообщениеОпишу файл. есть 4 человека, расходующие деньги(соответственно 4 закладки). в 5-й закладке ("Общее") нужно совместить данные из первых четырех столбцов. Через формулу "=" переношу первые строки из 4-х листов в 5-й. получается 4 строки, далее нужно растянуть ниже формулу для того чтобы автоматически переходили данные из первых 4-х. НО эксель, нехороший программ, формулы вставляет в другой последовательности(
Помогите пжлста....

Автор - VSpolun
Дата добавления - 10.10.2013 в 15:00
_Boroda_ Дата: Четверг, 10.10.2013, 15:40 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16790
Репутация: 6557 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А вот я сейчас как обижусь!
Для Бороды - кофе, чай, сок, какао. А нормальные напитки где?

В файле в красных формулах вручную поменяно название листа. Потом эти 4 формулы растянуты вправо, потом выделяются ячейки А2:D5 и за уголок тянутся вниз на сколько нужно. Если протянуто больше, чем нужно, то нули скрываются условным форматированием.
К сообщению приложен файл: 3587037_1.xlsx (23.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА вот я сейчас как обижусь!
Для Бороды - кофе, чай, сок, какао. А нормальные напитки где?

В файле в красных формулах вручную поменяно название листа. Потом эти 4 формулы растянуты вправо, потом выделяются ячейки А2:D5 и за уголок тянутся вниз на сколько нужно. Если протянуто больше, чем нужно, то нули скрываются условным форматированием.

Автор - _Boroda_
Дата добавления - 10.10.2013 в 15:40
Serge_007 Дата: Четверг, 10.10.2013, 16:04 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вариант одной формулой, без УФ
Макросы должны быть разрешены
К сообщению приложен файл: VSpolun.rar (9.2 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВариант одной формулой, без УФ
Макросы должны быть разрешены

Автор - Serge_007
Дата добавления - 10.10.2013 в 16:04
VSpolun Дата: Четверг, 10.10.2013, 16:36 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
В файле в красных формулах вручную поменяно название листа. Потом эти 4 формулы растянуты вправо, потом выделяются ячейки А2:D5 и за уголок тянутся вниз на сколько нужно. Если протянуто больше, чем нужно, то нули скрываются условным форматированием.


Спс, работает но не совсем так как надо. В закладках по людям не будет никогда ровного кол-ва строк. и как теперь видно в файле. В листе "общие" получаются пустые строки. Как их убрать? и следующий вопрос, как мне все это самому сделать(распиши поподробней) и как добавить новую вкладку(человека) без косяков?
К сообщению приложен файл: 8815162.xlsx (29.6 Kb)
 
Ответить
Сообщение
В файле в красных формулах вручную поменяно название листа. Потом эти 4 формулы растянуты вправо, потом выделяются ячейки А2:D5 и за уголок тянутся вниз на сколько нужно. Если протянуто больше, чем нужно, то нули скрываются условным форматированием.


Спс, работает но не совсем так как надо. В закладках по людям не будет никогда ровного кол-ва строк. и как теперь видно в файле. В листе "общие" получаются пустые строки. Как их убрать? и следующий вопрос, как мне все это самому сделать(распиши поподробней) и как добавить новую вкладку(человека) без косяков?

Автор - VSpolun
Дата добавления - 10.10.2013 в 16:36
VSpolun Дата: Четверг, 10.10.2013, 16:39 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Вариант одной формулой, без УФ


Интересный вариант, опять-же напишите как вы это сделали пжлста.
И как и в предыдущем варианте добавил строки в одной закладке и в листе "общие" все криво стало(
К сообщению приложен файл: 2384421.rar (9.7 Kb)
 
Ответить
Сообщение
Вариант одной формулой, без УФ


Интересный вариант, опять-же напишите как вы это сделали пжлста.
И как и в предыдущем варианте добавил строки в одной закладке и в листе "общие" все криво стало(

Автор - VSpolun
Дата добавления - 10.10.2013 в 16:39
SkyPro Дата: Четверг, 10.10.2013, 16:56 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Не понял по какому принципу вы их сводите в общий лист, так что предлагаю тупо копировать все данные макросом :) :[vba]
Код
Sub all()
Dim lastRow&, lastRowALL&, i&
With ThisWorkbook
.Sheets("Общее!!").[A2:D1048576].ClearContents

For i = 1 To .Sheets.Count
     If Not .Sheets(i).Name = "Общее!!" Then
         lastRow = .Sheets(i).[A1048576].End(xlUp).Row
         .Sheets(i).Range("A2:D" & lastRow).Copy
             lastRowALL = .Sheets("Общее!!").[A1048576].End(xlUp).Row + 1
             .Sheets("Общее!!").Cells(lastRowALL, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
     End If
Next

Application.CutCopyMode = False
.Sheets("Общее!!").Cells(1, 1).Activate
End With
End Sub
[/vba]
К сообщению приложен файл: VSpolun_macro.xlsm (31.5 Kb)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Четверг, 10.10.2013, 17:01
 
Ответить
СообщениеНе понял по какому принципу вы их сводите в общий лист, так что предлагаю тупо копировать все данные макросом :) :[vba]
Код
Sub all()
Dim lastRow&, lastRowALL&, i&
With ThisWorkbook
.Sheets("Общее!!").[A2:D1048576].ClearContents

For i = 1 To .Sheets.Count
     If Not .Sheets(i).Name = "Общее!!" Then
         lastRow = .Sheets(i).[A1048576].End(xlUp).Row
         .Sheets(i).Range("A2:D" & lastRow).Copy
             lastRowALL = .Sheets("Общее!!").[A1048576].End(xlUp).Row + 1
             .Sheets("Общее!!").Cells(lastRowALL, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
     End If
Next

Application.CutCopyMode = False
.Sheets("Общее!!").Cells(1, 1).Activate
End With
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 10.10.2013 в 16:56
VSpolun Дата: Четверг, 10.10.2013, 17:15 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
И вам спасибо! Единственное опять-же просьба - напишите как вы создаете этот макрос. И можете отсортировать в итоге по дате, а не по человеку?
[moder]Зачем цитируете пост целиком? Отвечать можно и без цитирования[/moder]
 
Ответить
СообщениеИ вам спасибо! Единственное опять-же просьба - напишите как вы создаете этот макрос. И можете отсортировать в итоге по дате, а не по человеку?
[moder]Зачем цитируете пост целиком? Отвечать можно и без цитирования[/moder]

Автор - VSpolun
Дата добавления - 10.10.2013 в 17:15
SkyPro Дата: Четверг, 10.10.2013, 17:31 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Добавил сортировку и откомментировал немного.
[vba]
Код
Sub all()
Dim lastRow&, lastRowALL&, i& 'обявляем переменные. & = long
With ThisWorkbook
.Sheets("Общее!!").[A2:D1048576].ClearContents ' очищаем диапазон

For i = 1 To .Sheets.Count 'начинаем цикл по листам. i = номер листа. шитс каунт = колво листов
     If Not .Sheets(i).Name = "Общее!!" Then 'если лист номер i не зовется общее, то продолжаем.
         lastRow = .Sheets(i).[A1048576].End(xlUp).Row 'определяем последнюю заполенную строку на листе i
         .Sheets(i).Range("A2:D" & lastRow).Copy 'копируем заполненый диапазон
             lastRowALL = .Sheets("Общее!!").[A1048576].End(xlUp).Row + 1 'определяем первую пустую строку на листе Общее
             .Sheets("Общее!!").Cells(lastRowALL, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' Вставляем только значения на лист ОБЩЕЕ
     End If 'заканчиваем условие
Next 'следующий лист
End With

' Сортировка
lastRowALL = .Sheets("Общее!!").[A1048576].End(xlUp).Row + 1 'определяем первую пустую строку на листе Общее
     With ThisWorkbook.Sheets("Общее!!").Sort
     .SortFields.Add Key:=Range("A2:A" & lastRowALL) _
         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
         .SetRange Range("A2:D" & lastRowALL)
         .Header = xlYes
         .MatchCase = False
         .Orientation = xlTopToBottom
         .SortMethod = xlPinYin
         .Apply
     End With
Application.CutCopyMode = False 'удалить из буфера скопированный диапазон
ThisWorkbook.Sheets("Общее!!").Cells(1, 1).Activate 'активируем А1 на листе общее
End Sub
[/vba]
К сообщению приложен файл: 9489157.xlsm (34.4 Kb)


skypro1111@gmail.com
 
Ответить
СообщениеДобавил сортировку и откомментировал немного.
[vba]
Код
Sub all()
Dim lastRow&, lastRowALL&, i& 'обявляем переменные. & = long
With ThisWorkbook
.Sheets("Общее!!").[A2:D1048576].ClearContents ' очищаем диапазон

For i = 1 To .Sheets.Count 'начинаем цикл по листам. i = номер листа. шитс каунт = колво листов
     If Not .Sheets(i).Name = "Общее!!" Then 'если лист номер i не зовется общее, то продолжаем.
         lastRow = .Sheets(i).[A1048576].End(xlUp).Row 'определяем последнюю заполенную строку на листе i
         .Sheets(i).Range("A2:D" & lastRow).Copy 'копируем заполненый диапазон
             lastRowALL = .Sheets("Общее!!").[A1048576].End(xlUp).Row + 1 'определяем первую пустую строку на листе Общее
             .Sheets("Общее!!").Cells(lastRowALL, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' Вставляем только значения на лист ОБЩЕЕ
     End If 'заканчиваем условие
Next 'следующий лист
End With

' Сортировка
lastRowALL = .Sheets("Общее!!").[A1048576].End(xlUp).Row + 1 'определяем первую пустую строку на листе Общее
     With ThisWorkbook.Sheets("Общее!!").Sort
     .SortFields.Add Key:=Range("A2:A" & lastRowALL) _
         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
         .SetRange Range("A2:D" & lastRowALL)
         .Header = xlYes
         .MatchCase = False
         .Orientation = xlTopToBottom
         .SortMethod = xlPinYin
         .Apply
     End With
Application.CutCopyMode = False 'удалить из буфера скопированный диапазон
ThisWorkbook.Sheets("Общее!!").Cells(1, 1).Activate 'активируем А1 на листе общее
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 10.10.2013 в 17:31
VSpolun Дата: Пятница, 11.10.2013, 10:22 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
SkyPro, Спасибо огромное!
Я то думал что я эксель знаю... оказывается вообще не в теме... Все равно не понимаю как мне это самому сделать в существующей книге((
 
Ответить
СообщениеSkyPro, Спасибо огромное!
Я то думал что я эксель знаю... оказывается вообще не в теме... Все равно не понимаю как мне это самому сделать в существующей книге((

Автор - VSpolun
Дата добавления - 11.10.2013 в 10:22
SkyPro Дата: Пятница, 11.10.2013, 10:39 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Вот тут подробно описано:
http://www.planetaexcel.ru/techniques/3/59/


skypro1111@gmail.com
 
Ответить
СообщениеВот тут подробно описано:
http://www.planetaexcel.ru/techniques/3/59/

Автор - SkyPro
Дата добавления - 11.10.2013 в 10:39
  • Страница 1 из 1
  • 1
Поиск:

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