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

Вход

Регистрация

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

 

= Мир MS Excel/Разбить запись на несколько штук - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разбить запись на несколько штук (Макросы/Sub)
Разбить запись на несколько штук
makao Дата: Вторник, 17.02.2015, 11:27 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Всем привет.

Может кто-то подсказать как разбить запись в екселе на несколько штук по временному периоду. Поясню, имеем запись что Николай был в отпуске 4 дня, с 1 по 4 число (01.01.2015 - стартовая дата, 04.01.2015 - конечная дата), нужно сделать 4 "клона" этой записи, только с датами 01.01.2015, 02.01.2015 и.т.д.

В екселе таблица выглядит примерно так:

[moder]Правила форума Вы так и не удосужились прочитать? Тогда ловите замечание.
К сообщению приложен файл: 7535364.xlsx (9.3 Kb)


Сообщение отредактировал makao - Вторник, 17.02.2015, 11:38
 
Ответить
СообщениеВсем привет.

Может кто-то подсказать как разбить запись в екселе на несколько штук по временному периоду. Поясню, имеем запись что Николай был в отпуске 4 дня, с 1 по 4 число (01.01.2015 - стартовая дата, 04.01.2015 - конечная дата), нужно сделать 4 "клона" этой записи, только с датами 01.01.2015, 02.01.2015 и.т.д.

В екселе таблица выглядит примерно так:

[moder]Правила форума Вы так и не удосужились прочитать? Тогда ловите замечание.

Автор - makao
Дата добавления - 17.02.2015 в 11:27
krosav4ig Дата: Вторник, 17.02.2015, 12:37 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
так нужно?

upd.

заменил файл
К сообщению приложен файл: 0795461.xlsx (10.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 17.02.2015, 15:47
 
Ответить
Сообщениетак нужно?

upd.

заменил файл

Автор - krosav4ig
Дата добавления - 17.02.2015 в 12:37
makao Дата: Вторник, 17.02.2015, 12:51 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

Спасибо, вы показали хороший способ, но считает пока не верно.


Сообщение отредактировал makao - Вторник, 17.02.2015, 12:56
 
Ответить
Сообщениеkrosav4ig,

Спасибо, вы показали хороший способ, но считает пока не верно.

Автор - makao
Дата добавления - 17.02.2015 в 12:51
krosav4ig Дата: Вторник, 17.02.2015, 12:54 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
исправил формулу


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеисправил формулу

Автор - krosav4ig
Дата добавления - 17.02.2015 в 12:54
makao Дата: Вторник, 17.02.2015, 12:59 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

У меня вопрос, а если номер будет например 10625186 или 5545186 у человека. Насколько я понял, формула ссылается на него, но при таких или подобных значениях она заполняет все 1 номером.
 
Ответить
Сообщениеkrosav4ig,

У меня вопрос, а если номер будет например 10625186 или 5545186 у человека. Насколько я понял, формула ссылается на него, но при таких или подобных значениях она заполняет все 1 номером.

Автор - makao
Дата добавления - 17.02.2015 в 12:59
krosav4ig Дата: Вторник, 17.02.2015, 14:54 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
makao, замените в формуле
Код
ПОИСКПОЗ(H1;$A:$A)
на
Код
ПОИСКПОЗ(H1;$A:$A;)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеmakao, замените в формуле
Код
ПОИСКПОЗ(H1;$A:$A)
на
Код
ПОИСКПОЗ(H1;$A:$A;)

Автор - krosav4ig
Дата добавления - 17.02.2015 в 14:54
Rioran Дата: Вторник, 17.02.2015, 15:27 | Сообщение № 7
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
makao, здравствуйте.

Приглашаю испытать кнопку во вложении.

[vba]
Код
Option Explicit
Option Base 1

Sub Rio_Split()

'Author:    Roman "Rioran" Voronov
'Date:      the 17-th of February, 2015
'Feedback:  voronov_rv@mail.ru

Dim ArrA 'Basic data
Dim ArrB 'Final data
Dim A As Long 'Rows number for ArrA
Dim B As Long 'Rows number for ArrB
Dim i As Long, j As Long, k As Long, q As Long

A = Cells(Rows.Count, 1).End(xlUp).Row - 1
ArrA = Range(Cells(2, 1), Cells(A + 1, 6))

With Application.WorksheetFunction
     B = .Sum(.Index(ArrA, 0, 6))
End With

ReDim ArrB(B, 4)

For i = 1 To A
     For j = 1 To ArrA(i, 6)
         q = q + 1
         For k = 1 To 3
             ArrB(q, k) = ArrA(i, k)
         Next k
         ArrB(q, 4) = ArrA(i, 4) - 1 + j
     Next j
Next i

Cells(2, 8).Resize(B, 4).Value = ArrB

End Sub
[/vba]
К сообщению приложен файл: Rio_Mult.xlsb (15.8 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеmakao, здравствуйте.

Приглашаю испытать кнопку во вложении.

[vba]
Код
Option Explicit
Option Base 1

Sub Rio_Split()

'Author:    Roman "Rioran" Voronov
'Date:      the 17-th of February, 2015
'Feedback:  voronov_rv@mail.ru

Dim ArrA 'Basic data
Dim ArrB 'Final data
Dim A As Long 'Rows number for ArrA
Dim B As Long 'Rows number for ArrB
Dim i As Long, j As Long, k As Long, q As Long

A = Cells(Rows.Count, 1).End(xlUp).Row - 1
ArrA = Range(Cells(2, 1), Cells(A + 1, 6))

With Application.WorksheetFunction
     B = .Sum(.Index(ArrA, 0, 6))
End With

ReDim ArrB(B, 4)

For i = 1 To A
     For j = 1 To ArrA(i, 6)
         q = q + 1
         For k = 1 To 3
             ArrB(q, k) = ArrA(i, k)
         Next k
         ArrB(q, 4) = ArrA(i, 4) - 1 + j
     Next j
Next i

Cells(2, 8).Resize(B, 4).Value = ArrB

End Sub
[/vba]

Автор - Rioran
Дата добавления - 17.02.2015 в 15:27
makao Дата: Вторник, 17.02.2015, 17:01 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Rioran,

Спасибо, очень помогло.
 
Ответить
СообщениеRioran,

Спасибо, очень помогло.

Автор - makao
Дата добавления - 17.02.2015 в 17:01
makao Дата: Вторник, 17.02.2015, 17:02 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

Спасибо.
 
Ответить
Сообщениеkrosav4ig,

Спасибо.

Автор - makao
Дата добавления - 17.02.2015 в 17:02
makao Дата: Вторник, 17.02.2015, 17:23 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Rioran,

Есть еще 1 вопрос, можно ли подтянуть данные в "календарь" справа (там есть пример)? Или хотяби что-то похожее.
К сообщению приложен файл: Rio_Ma_Mult.xlsb (18.8 Kb)


Сообщение отредактировал makao - Вторник, 17.02.2015, 17:25
 
Ответить
СообщениеRioran,

Есть еще 1 вопрос, можно ли подтянуть данные в "календарь" справа (там есть пример)? Или хотяби что-то похожее.

Автор - makao
Дата добавления - 17.02.2015 в 17:23
krosav4ig Дата: Вторник, 17.02.2015, 18:15 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
makao, может диаграммой подойдет?
К сообщению приложен файл: 8926424.xlsb (20.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 17.02.2015, 18:16
 
Ответить
Сообщениеmakao, может диаграммой подойдет?

Автор - krosav4ig
Дата добавления - 17.02.2015 в 18:15
makao Дата: Вторник, 17.02.2015, 18:27 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

Спасибо, хорошая штука, но мне не подойдет, так как там еще нужно будет делать изменения, но как вариант тоже оформлю, может кому-то пригодится.
 
Ответить
Сообщениеkrosav4ig,

Спасибо, хорошая штука, но мне не подойдет, так как там еще нужно будет делать изменения, но как вариант тоже оформлю, может кому-то пригодится.

Автор - makao
Дата добавления - 17.02.2015 в 18:27
krosav4ig Дата: Вторник, 17.02.2015, 18:39 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ну тогда держите формулу
Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ЕСЛИ(($V2=$A$2:$A$6)*(X$1>=$E$2:$E$6)*(X$1<=$F$2:$F$6);$C$2:$C$6));"")

формула массивная, вводится комбинацией ctrl+shift+enter
К сообщению приложен файл: 1329921.xlsb (24.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 17.02.2015, 18:44
 
Ответить
Сообщениену тогда держите формулу
Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ЕСЛИ(($V2=$A$2:$A$6)*(X$1>=$E$2:$E$6)*(X$1<=$F$2:$F$6);$C$2:$C$6));"")

формула массивная, вводится комбинацией ctrl+shift+enter

Автор - krosav4ig
Дата добавления - 17.02.2015 в 18:39
krosav4ig Дата: Вторник, 17.02.2015, 18:51 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ошибочка вышла...


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 18.02.2015, 12:57
 
Ответить
Сообщениеошибочка вышла...

Автор - krosav4ig
Дата добавления - 17.02.2015 в 18:51
makao Дата: Вторник, 17.02.2015, 19:21 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

Спасибо, попробую ее растянуть на 500 значений.
 
Ответить
Сообщениеkrosav4ig,

Спасибо, попробую ее растянуть на 500 значений.

Автор - makao
Дата добавления - 17.02.2015 в 19:21
makao Дата: Вторник, 17.02.2015, 19:27 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

Пробовал сделать ее на масив $A$2:$A$500, но ничево не меняется, можно ли формулу изначально задать на 2:500, чтобы просто вставлять нужную информацию и оно само ссылалось на ечейки?
 
Ответить
Сообщениеkrosav4ig,

Пробовал сделать ее на масив $A$2:$A$500, но ничево не меняется, можно ли формулу изначально задать на 2:500, чтобы просто вставлять нужную информацию и оно само ссылалось на ечейки?

Автор - makao
Дата добавления - 17.02.2015 в 19:27
makao Дата: Среда, 18.02.2015, 13:13 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
krosav4ig,

Большое спасибо, посидел, разобрался и изменил под свои нужны. hands
 
Ответить
Сообщениеkrosav4ig,

Большое спасибо, посидел, разобрался и изменил под свои нужны. hands

Автор - makao
Дата добавления - 18.02.2015 в 13:13
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разбить запись на несколько штук (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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