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

Вход

Регистрация

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

 

= Мир MS Excel/% простоя за прошедший день - Мир MS Excel

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

Excel 2016
Дорогие форумчане могли бы посмотреть как реализовать вот это:
Необходимо в столбцы C,D,E,F листа "Результат" вставлять данные из листа "УС в разрезе"
Этот лист подгружается макросом из другой книги и каждый день он меняется (добавляются столбцы)
Теперь подробнее :
В столбец С необходимо подгружать % простоя за прошедший день (Сейчас это столбец 124, завтра будет другой)
В столбец D необходимо подгружать План на текущий квартал (предпоследний столбец)
В столбец E необходимо подгружать Факт на текущий квартал (последний столбец)
В столбец F необходимо подгружать Процент выполнения плана (отношение предпоследнего к последнему)

Все что я смог сам, это в столбцы A и B листа "Результат" копировать данные с листа "УС в разрезе" так как они не меняются.


Сообщение отредактировал Admnis - Воскресенье, 07.02.2021, 18:01
 
Ответить
СообщениеДорогие форумчане могли бы посмотреть как реализовать вот это:
Необходимо в столбцы C,D,E,F листа "Результат" вставлять данные из листа "УС в разрезе"
Этот лист подгружается макросом из другой книги и каждый день он меняется (добавляются столбцы)
Теперь подробнее :
В столбец С необходимо подгружать % простоя за прошедший день (Сейчас это столбец 124, завтра будет другой)
В столбец D необходимо подгружать План на текущий квартал (предпоследний столбец)
В столбец E необходимо подгружать Факт на текущий квартал (последний столбец)
В столбец F необходимо подгружать Процент выполнения плана (отношение предпоследнего к последнему)

Все что я смог сам, это в столбцы A и B листа "Результат" копировать данные с листа "УС в разрезе" так как они не меняются.

Автор - Admnis
Дата добавления - 07.02.2021 в 15:10
_Igor_61 Дата: Воскресенье, 07.02.2021, 23:27 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 388
Репутация: 78 ±
Замечаний: 0% ±

Excel 2007
могли бы посмотреть как реализовать вот это

Могли бы, Если бы Вы показали :)
 
Ответить
Сообщение
могли бы посмотреть как реализовать вот это

Могли бы, Если бы Вы показали :)

Автор - _Igor_61
Дата добавления - 07.02.2021 в 23:27
Admnis Дата: Среда, 10.02.2021, 15:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Могли бы, Если бы Вы показали


[vba]
Код

Sub Сбор()
Dim wsRez As Worksheet, wsUS As Worksheet
Dim lLastRow As Long, lCol As Long
Set wsRez = Worksheets("Результат")
Set wsUS = Worksheets("УС в разрезе")
lLastRow = wsUS.Cells(Rows.Count, 3).End(xlUp).Row
lCol = wsUS.Rows(1).Find(What:="Q1 Факт", LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Column
wsUS.Range(wsUS.Cells(2, lCol - 1), wsUS.Cells(lLastRow, lCol + 1)).Copy wsRez.Range("D2")
wsUS.Range(wsUS.Cells(2, lCol - 4), wsUS.Cells(lLastRow, lCol - 4)).Copy wsRez.Range("C2")
wsUS.Range(wsUS.Cells(2, 3), wsUS.Cells(lLastRow, 3)).Copy wsRez.Range("B2")

Sheets("Результат").Select
Range("B2") = WorksheetFunction.Sum(Range("B3:B65"))
End Sub
[/vba]


Сообщение отредактировал Admnis - Среда, 10.02.2021, 17:28
 
Ответить
Сообщение
Могли бы, Если бы Вы показали


[vba]
Код

Sub Сбор()
Dim wsRez As Worksheet, wsUS As Worksheet
Dim lLastRow As Long, lCol As Long
Set wsRez = Worksheets("Результат")
Set wsUS = Worksheets("УС в разрезе")
lLastRow = wsUS.Cells(Rows.Count, 3).End(xlUp).Row
lCol = wsUS.Rows(1).Find(What:="Q1 Факт", LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Column
wsUS.Range(wsUS.Cells(2, lCol - 1), wsUS.Cells(lLastRow, lCol + 1)).Copy wsRez.Range("D2")
wsUS.Range(wsUS.Cells(2, lCol - 4), wsUS.Cells(lLastRow, lCol - 4)).Copy wsRez.Range("C2")
wsUS.Range(wsUS.Cells(2, 3), wsUS.Cells(lLastRow, 3)).Copy wsRez.Range("B2")

Sheets("Результат").Select
Range("B2") = WorksheetFunction.Sum(Range("B3:B65"))
End Sub
[/vba]

Автор - Admnis
Дата добавления - 10.02.2021 в 15:34
Pelena Дата: Среда, 10.02.2021, 15:50 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 17544
Репутация: 3906 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Admnis, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеAdmnis, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 10.02.2021 в 15:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » % простоя за прошедший день (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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