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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение ячеек по соответствию даты - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение ячеек по соответствию даты (Макросы/Sub)
Заполнение ячеек по соответствию даты
CHEVRYACHOK Дата: Суббота, 22.10.2016, 18:48 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер!
Подскажите, пожалуйста.
Есть график, в нем прописаны работы и периоды ее выполнения по датам.
На втором листе есть те же даты и необходимо, чтобы ячейки рядом с датами
заполнились работами из графика.
Если в этот день работ несколько, то они должны добавляться через точку с пробелом.
Более наглядно описано в примере.
Заранее благодарен.
К сообщению приложен файл: 7541448.xlsm (28.8 Kb)
 
Ответить
СообщениеДобрый вечер!
Подскажите, пожалуйста.
Есть график, в нем прописаны работы и периоды ее выполнения по датам.
На втором листе есть те же даты и необходимо, чтобы ячейки рядом с датами
заполнились работами из графика.
Если в этот день работ несколько, то они должны добавляться через точку с пробелом.
Более наглядно описано в примере.
Заранее благодарен.

Автор - CHEVRYACHOK
Дата добавления - 22.10.2016 в 18:48
nilem Дата: Воскресенье, 23.10.2016, 16:00 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
CHEVRYACHOK, привет
попробуйте так:
[vba]
Код
Sub ertert()
Dim Wrks, x, y(), i&, j&

With Sheets("График")
    Wrks = .Range("D7", .Cells(Rows.Count, 4).End(xlUp)).Value
    x = .Range("R6", .Cells(6, Columns.Count).End(xlToLeft)).Resize(UBound(Wrks) + 1).Value
End With
ReDim y(1 To UBound(x, 2), 1 To 2)

For j = 1 To UBound(x, 2)
    y(j, 1) = x(1, j)
    For i = 2 To UBound(x, 1)
        If Len(x(i, j)) Then y(j, 2) = IIf(IsEmpty(y(j, 2)), Wrks(i - 1, 1), y(j, 2) & ". " & Wrks(i - 1, 1))
    Next i
Next j

With Sheets("Раздел 3")
    .Range("A5").CurrentRegion.Offset(1).ClearContents
    .Range("A5").Resize(UBound(y, 1), UBound(y, 2)).Value = y
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеCHEVRYACHOK, привет
попробуйте так:
[vba]
Код
Sub ertert()
Dim Wrks, x, y(), i&, j&

With Sheets("График")
    Wrks = .Range("D7", .Cells(Rows.Count, 4).End(xlUp)).Value
    x = .Range("R6", .Cells(6, Columns.Count).End(xlToLeft)).Resize(UBound(Wrks) + 1).Value
End With
ReDim y(1 To UBound(x, 2), 1 To 2)

For j = 1 To UBound(x, 2)
    y(j, 1) = x(1, j)
    For i = 2 To UBound(x, 1)
        If Len(x(i, j)) Then y(j, 2) = IIf(IsEmpty(y(j, 2)), Wrks(i - 1, 1), y(j, 2) & ". " & Wrks(i - 1, 1))
    Next i
Next j

With Sheets("Раздел 3")
    .Range("A5").CurrentRegion.Offset(1).ClearContents
    .Range("A5").Resize(UBound(y, 1), UBound(y, 2)).Value = y
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 23.10.2016 в 16:00
krosav4ig Дата: Воскресенье, 23.10.2016, 16:19 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно сводной
создал именованный диапазон tbl (График!$D$6:$AU$14), по ней построил консолидированную сводную (через мастер сводных таблиц и диаграмм)
К сообщению приложен файл: 3137133.xlsm (32.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно сводной
создал именованный диапазон tbl (График!$D$6:$AU$14), по ней построил консолидированную сводную (через мастер сводных таблиц и диаграмм)

Автор - krosav4ig
Дата добавления - 23.10.2016 в 16:19
CHEVRYACHOK Дата: Воскресенье, 23.10.2016, 18:16 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
nilem, krosav4ig, огромное Вам спасибо!
Оба варианта работают, но вариант с макросом более приемлем.
nilem, не могли бы Вы, если Вас не затруднит, помочь с первым
пунктом - заполнение 1-цами графика?
Еще раз спасибо!


Сообщение отредактировал CHEVRYACHOK - Воскресенье, 23.10.2016, 18:29
 
Ответить
Сообщениеnilem, krosav4ig, огромное Вам спасибо!
Оба варианта работают, но вариант с макросом более приемлем.
nilem, не могли бы Вы, если Вас не затруднит, помочь с первым
пунктом - заполнение 1-цами графика?
Еще раз спасибо!

Автор - CHEVRYACHOK
Дата добавления - 23.10.2016 в 18:16
nilem Дата: Воскресенье, 23.10.2016, 19:38 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
как-то вот так, например:


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениекак-то вот так, например:

Автор - nilem
Дата добавления - 23.10.2016 в 19:38
CHEVRYACHOK Дата: Воскресенье, 23.10.2016, 20:04 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
nilem, Вы просто волшебник! hands
Огромное спасибо!
 
Ответить
Сообщениеnilem, Вы просто волшебник! hands
Огромное спасибо!

Автор - CHEVRYACHOK
Дата добавления - 23.10.2016 в 20:04
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение ячеек по соответствию даты (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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