Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Не получается формулу в макросе изменить на динамическую
 
Доброго времени суток!
Можете помочь в написании макроса
В моем макросе я дал переменные к двум файлам.

Private sh_ассигнование As Workbook
Private sh_погашение As Workbook

Код
Private sh_ассигнование As Workbook
Private sh_погашение As Workbook
Private end1 As Long

Sub NPL_ФЛ_Рестр() 'Main макрос

Call обзор_файла1 'Открывает окно где нужно выбрать файл 1
Call обзор_файла2 'Открывает окно где нужно выбрать файл 2
Call copypaste

End Sub

Private Sub обзор_файла1()
result = Application.GetOpenFilename(MyFilter, , "Открой Ассигнование по резервам", "открой")
If result = "False" Then
    Kill_all = True
    Exit Sub
End If
Workbooks.Open Filename:=result, ReadOnly:=1
Set sh_ассигнование = Workbooks(Dir(result))  'Тут дал переменный на workbook 1
End Sub

Private Sub обзор_файла2()

result = Application.GetOpenFilename(MyFilter, , "Открой КП по NPL.Погашение", "открой")
If result = "False" Then
    Kill_all = True
    Exit Sub
End If
Workbooks.Open Filename:=result, ReadOnly:=1
Set sh_погашение = Workbooks(Dir(result))   'Тут дал переменный на workbook 2
'    Скрывает все действия записи макроса
Application.Wait Now + TimeValue("00:00:01")
    Application.ScreenUpdating = False
End Sub

'Тут только часть кода написал сюда, так как важен только формула в макросе
'Вставляем суммы наших пулов из листа "Страница1_1" в Ассигнование по резервам
'Формулы статистические, нужно сделать динамический, связать формулу как то с (sh_ассигнование As Workbook), (sh_погашение As Workbook) 

sh_погашение.Sheets("КП по NPL ФЛ").Range("I8").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""ПОТРЕБЦЕЛИ"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

sh_погашение.Sheets("КП по NPL ФЛ").Range("I15").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""АВТОКРЕДИТ"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

sh_погашение.Sheets("КП по NPL ФЛ").Range("I22").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""ИПОТЕКА"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

sh_погашение.Sheets("КП по NPL ФЛ").Range("I29").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""БЕЗЗАЛОГОВЫЕ"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

sh_погашение.Sheets("КП по NPL ФЛ").Range("I36").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""БЫСТРДЕН"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

sh_погашение.Sheets("КП по NPL ФЛ").Range("I43").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""КРЕДИТНЫЕКАРТЫ"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

sh_погашение.Sheets("КП по NPL ФЛ").Range("I50").FormulaR1C1 = "=SUMIFS('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C25,'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C18,""КРЕДИТЫКИК"",'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!C28,0)"

Формула = *=СУММЕСЛИМН('[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!$Y:$Y;'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!$R:$R;"ПОТРЕБЦЕЛИ";'[Ассигнования по резервам (01.09.2019 - 23.09.2019).xlsx]Страница1_1'!$AB:$AB;1)*

Нужно сделать формулу динамическим в макросе чтобы он взял данные с файла, который мы открываем через путь
Макрос для переноса данных в другой файл
 
ДД, форумчане!

Помогите с написанием макроса, нужен динамический макрос для выбора файлов, чтобы копировать данные из выборочного файла,
Есть 2 файла, макрос должен быть в  новом файле, в файле (Ассигнования) в листе (сводная) есть суммы резервов, их надо скопировать и вставить в файл (погашение) в столбец I7, I14, I21 ... I49 по названию резервов (название резервов в столбце B)
Прошу помочь с макросом буду благодарен
Изменено: Angelo125 - 24.09.2019 12:21:11
VBA с изпользованием фильтра и копирование данных в другой файл
 
Привет, Форумчане! Помогите пожалуйста по написанию макроса, так как я в  этом новичок. Попытался написать через макрорекордер, но не получается,  мне нужен динамический макрос.

У меня есть файл Расчеты(в нем данные) и Макрос результат(нужно туда макрос написать).

1.  Итак нужно создать новый столбец в конце(файл Расчет кред.линии) и  вписать формулу [=ВПР(M9;'[Макрос Расчеты  (измененный).xlsx]Лист2'!$A:$B;2;0)] и вставить их как значение, далее  заполнить всю строку. Поставить фильтр, всех (#Н/Д) из столбца  переименовать по формуле [=BJ9] (нужно прировнять к столбцу  Субпортфель).

2. Теперь нужно заполнить таблицу ‘’ Кред линии’’ С47-C49 (Малый Бизнес, Средний, Крупный) в файле “Макрос Расчеты”.
Макрос:  фильтр – Текущая классификация -> Тип расчета(Индивидуальный) ,  потом фильтр – Сегмент -> Код поиск - (H,IC,IK,IM,IR,K,K1)крупный,  потом далее копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос  Расчеты” в таблицу “Кред линии(F47)” крупный

Макрос: фильтр –  Текущая классификация -> Тип расчета(Индивидуальный), потом фильтр –  Сегмент -> Код поиск - ©средний, потом далее копируем “Разница в  тенге” сумму(BX4) и вставляем в “Макрос Расчеты” в таблицу “ Кред линии  (F48)” средний

Макрос: фильтр – Текущая классификация -> Тип  расчета(Индивидуальный) , потом фильтр – Сегмент -> Код поиск -  (R,M,D)малый, потом далее копируем “Разница в тенге” сумму(BU4) и  вставляем в “Макрос Расчеты” в таблицу “ Кред линии (F49)” малый

P.S1 Нужно писать понятный код, буду очень благодарен. У меня таких файлов 5-6 штук. Надеюсь на вас  
Исходник файл - это неизменненный файл
Расчет кред линии - я там впр руками сделал
VBA. написать макрос с использованием ВПР и условие
 
Привет, Форумчане! Помогите пожалуйста по написанию макроса, так как я в  этом новичок. Попытался написать через макрорекордер, но не получается,  мне нужен динамический макрос.

У меня есть файл Расчеты(в нем данные) и Макрос результат(нужно туда макрос написать).

1.  Итак нужно создать новый столбец в конце(файл Расчет кред.линии) и  вписать формулу [=ВПР(M9;'[Макрос Расчеты  (измененный).xlsx]Лист2'!$A:$B;2;0)] и вставить их как значение, далее  заполнить всю строку. Поставить фильтр, всех (#Н/Д) из столбца  переименовать по формуле [=BJ9] (нужно прировнять к столбцу  Субпортфель).

2. Теперь нужно заполнить таблицу ‘’ Кред линии’’ С47-C49 (Малый Бизнес, Средний, Крупный) в файле “Макрос Расчеты”.
Макрос:  фильтр – Текущая классификация -> Тип расчета(Индивидуальный) ,  потом фильтр – Сегмент -> Код поиск - (H,IC,IK,IM,IR,K,K1)крупный,  потом далее копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос  Расчеты” в таблицу “Кред линии(F47)” крупный

Макрос: фильтр –  Текущая классификация -> Тип расчета(Индивидуальный), потом фильтр –  Сегмент -> Код поиск - ©средний, потом далее копируем “Разница в  тенге” сумму(BX4) и вставляем в “Макрос Расчеты” в таблицу “ Кред линии  (F48)” средний

Макрос: фильтр – Текущая классификация -> Тип  расчета(Индивидуальный) , потом фильтр – Сегмент -> Код поиск -  (R,M,D)малый, потом далее копируем “Разница в тенге” сумму(BU4) и  вставляем в “Макрос Расчеты” в таблицу “ Кред линии (F49)” малый

3.  Макрос: фильтр – Текущая классификация -> Тип  расчета(Индивидуальный) , потом фильтр – Текущая классификация ->  Cубпортфель -

(UNSECURED) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(CONSUMER/OFF BALANCE) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(MORTGAGE), далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(AUTO) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(KIK) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),
(BISTR_DEN) - потом далее копируем отдельно из каждой “Разница в тенге” сумму(BU4)

и все суммы вставляем в “Макрос Расчеты” в таблицу “Кред линии (F52-F57)” соответсвенно с названием строк.


P.S  Вложил файл (Расчеты кредитные линии вручную без макроса), тут я  вручную сделал, можете посмотреть формулу ВПР и новую таблицу

P.S1 Нужно писать понятный код, буду очень благодарен. У меня таких файлов 5-6 штук. Надеюсь на вас  


Оплата 500 рублей, так как 1 файл для работы. И макрос несложный. Пишите в личку, по сроку договоримся
VBA. Не могу сделать макрос по фильтрам
 
Доброго времени суток, форумчане!
Помогите по написанию VBA в excel.

Предыдущую часть помогли из форума
Код
Sub VPR_KredLinyi()
Dim arr(), arrM(), arrBJ(), arrVPR()
Dim iSh As Worksheet
Set iSh = Workbooks("Расчет. кредитные линии.xlsx").Worksheets("классификация кредитных линий")
With iSh
   arrM = .Range("M9:M" & .Cells(.Rows.Count, "M").End(xlUp).Row).Value
   arrBJ = .Range("BJ9:BJ" & .Cells(.Rows.Count, "M").End(xlUp).Row).Value
End With
With ThisWorkbook.Worksheets("Лист2")
   arr = .Range("A2:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Value
End With
ReDim arrVPR(1 To UBound(arrM), 1 To 1)
With CreateObject("Scripting.Dictionary")
   For I = LBound(arr) To UBound(arr)
       If Not .Exists(arr(I, 1)) Then .Item(arr(I, 1)) = arr(I, 2)
   Next
   For I = 1 To UBound(arrM)
       If .Exists(arrM(I, 1)) Then
           arrVPR(I, 1) = .Item(arrM(I, 1))
       Else
           arrVPR(I, 1) = arrBJ(I, 1)
       End If
   Next
End With
iSh.Range("BV9").Resize(UBound(arrVPR), 1) = arrVPR
End Sub
Теперь можете помочь на этом языке написать еще vba, этот язык более понятно, чем другие  
В файле "Расчет. кредитные линии" есть данные, нужно используя фильтр заполнить другой файл "Макрос Расчеты"

Нужно  заполнить таблицу ‘’ Кред линии’’ С47-C49 (Малый Бизнес, Средний,  Крупный) в файле “Макрос Расчеты”.Макрос: фильтр – Текущая классификация  -> Тип расчета(Индивидуальный) , потом фильтр – Сегмент -> Код  поиск - (H,IC,IK,IM,IR,K,K1)крупный, потом далее копируем “Разница в  тенге” сумму(BU4) и вставляем в “Макрос Расчеты” в таблицу “Кред  линии(F47)” крупный

Макрос: фильтр – Текущая классификация ->  Тип расчета(Индивидуальный), потом фильтр – Сегмент -> Код поиск - ( C  )средний, потом далее копируем “Разница в тенге” сумму(BX4) и вставляем  в “Макрос Расчеты” в таблицу “ Кред линии (F48)” средний

Макрос:  фильтр – Текущая классификация -> Тип расчета(Индивидуальный) ,  потом фильтр – Сегмент -> Код поиск - (R,M,D)малый, потом далее  копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос Расчеты” в  таблицу “ Кред линии (F49)” малый

P.S Внутри есть один макрос, прошу можете связать с ним

P.S1  Если хоть как то можете с кодом, буду очень благодарен. У меня таких  файлов 5-6 штук. Если покажете макрос, то к остальным файлам я сам по  этим макросам напишу. Надеюсь на вас  
Изменено: Angelo125 - 04.09.2019 04:50:26
VBA. Как сделать макрос по фильтрам
 
Доброго времени суток, форумчане!
Помогите по написанию VBA в excel.

Предыдущую часть помогли из форума
Код
Sub VPR_KredLinyi()
Dim arr(), arrM(), arrBJ(), arrVPR()
Dim iSh As Worksheet
Set iSh = Workbooks("Расчет. кредитные линии.xlsx").Worksheets("классификация кредитных линий")
With iSh
    arrM = .Range("M9:M" & .Cells(.Rows.Count, "M").End(xlUp).Row).Value
    arrBJ = .Range("BJ9:BJ" & .Cells(.Rows.Count, "M").End(xlUp).Row).Value
End With
With ThisWorkbook.Worksheets("Лист2")
    arr = .Range("A2:B" & .Cells(.Rows.Count, "A").End(xlUp).Row).Value
End With
ReDim arrVPR(1 To UBound(arrM), 1 To 1)
With CreateObject("Scripting.Dictionary")
    For I = LBound(arr) To UBound(arr)
        If Not .Exists(arr(I, 1)) Then .Item(arr(I, 1)) = arr(I, 2)
    Next
    For I = 1 To UBound(arrM)
        If .Exists(arrM(I, 1)) Then
            arrVPR(I, 1) = .Item(arrM(I, 1))
        Else
            arrVPR(I, 1) = arrBJ(I, 1)
        End If
    Next
End With
iSh.Range("BV9").Resize(UBound(arrVPR), 1) = arrVPR
End Sub

Теперь можете помочь на этом языке написать еще vba, этот язык более понятно, чем другие  
В файле "Расчет. кредитные линии" есть данные, нужно используя фильтр заполнить другой файл "Макрос Расчеты"

Нужно заполнить таблицу ‘’ Кред линии’’ С47-C49 (Малый Бизнес, Средний, Крупный) в файле “Макрос Расчеты”.Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный) , потом фильтр – Сегмент -> Код поиск - (H,IC,IK,IM,IR,K,K1)крупный, потом далее копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос Расчеты” в таблицу “Кред линии(F47)” крупный

Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный), потом фильтр – Сегмент -> Код поиск - ( C )средний, потом далее копируем “Разница в тенге” сумму(BX4) и вставляем в “Макрос Расчеты” в таблицу “ Кред линии (F48)” средний

Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный) , потом фильтр – Сегмент -> Код поиск - (R,M,D)малый, потом далее копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос Расчеты” в таблицу “ Кред линии (F49)” малый

P.S Внутри есть один макрос, прошу можете связать с ним

P.S1 Если хоть как то можете с кодом, буду очень благодарен. У меня таких файлов 5-6 штук. Если покажете макрос, то к остальным файлам я сам по этим макросам напишу. Надеюсь на вас  
Изменено: Angelo125 - 03.09.2019 17:46:40
VBA. Получить данные из другой книги по условию
 
Привет, Форумчане! Помогите пожалуйста по написанию макроса, так как я в этом новичок. Попытался написать через макрорекордер, но не получается, мне нужен динамический макрос.

У меня есть файл Расчеты(в нем данные) и Макрос расчеты(нужно туда макрос написать).

Итак нужно создать новый столбец в конце(файл Расчет кред.линии) и вписать формулу [=ВПР(M9;'[Макрос Расчеты (измененный).xlsx]Лист2'!$A:$B;2;0)] и вставить их как значение, далее заполнить всю строку. Поставить фильтр, всех (#Н/Д) из столбца переименовать по формуле [=BJ9] (нужно прировнять к столбцу Субпортфель).
Макрос отчета с использованием ВПР и Фильтров, Написать макрос по формулам ВПР и заполнить таблицу
 
Привет, Форумчане! Помогите пожалуйста по написанию макроса, так как я в этом новичок. Попытался написать через макрорекордер, но не получается, мне нужен динамический макрос.

У меня есть файл Расчеты(в нем данные) и Макрос результат(нужно туда макрос написать).

1. Итак нужно создать новый столбец в конце(файл Расчет кред.линии) и вписать формулу [=ВПР(M9;'[Макрос Расчеты (измененный).xlsx]Лист2'!$A:$B;2;0)] и вставить их как значение, далее заполнить всю строку. Поставить фильтр, всех (#Н/Д) из столбца переименовать по формуле [=BJ9] (нужно прировнять к столбцу Субпортфель).

2. Теперь нужно заполнить таблицу ‘’ Кред линии’’ С47-C49 (Малый Бизнес, Средний, Крупный) в файле “Макрос Расчеты”.
Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный) , потом фильтр – Сегмент -> Код поиск - (H,IC,IK,IM,IR,K,K1)крупный, потом далее копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос Расчеты” в таблицу “Кред линии(F47)” крупный

Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный), потом фильтр – Сегмент -> Код поиск - ©средний, потом далее копируем “Разница в тенге” сумму(BX4) и вставляем в “Макрос Расчеты” в таблицу “ Кред линии (F48)” средний

Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный) , потом фильтр – Сегмент -> Код поиск - (R,M,D)малый, потом далее копируем “Разница в тенге” сумму(BU4) и вставляем в “Макрос Расчеты” в таблицу “ Кред линии (F49)” малый

3. Макрос: фильтр – Текущая классификация -> Тип расчета(Индивидуальный) , потом фильтр – Текущая классификация -> Cубпортфель -

(UNSECURED) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(CONSUMER/OFF BALANCE) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(MORTGAGE), далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(AUTO) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),

(KIK) далее копируем отдельно из каждой “Разница в тенге” сумму(BU4),
(BISTR_DEN) - потом далее копируем отдельно из каждой “Разница в тенге” сумму(BU4)

и все суммы вставляем в “Макрос Расчеты” в таблицу “Кред линии (F52-F57)” соответсвенно с названием строк.


P.S Вложил файл (Расчеты кредитные линии вручную без макроса), тут я вручную сделал, можете посмотреть формулу ВПР и новую таблицу

P.S1 Нужно писать понятный код, буду очень благодарен. У меня таких файлов 5-6 штук. Надеюсь на вас  


Оплата 500 рублей, так как 1 файл для работы. И макрос несложный. Пишите в личку, по сроку договоримся
Изменено: Angelo125 - 19.09.2019 04:49:44 (поднял цену на заказ)
Автоматизация отчета с созданием сводной таблицы
 
Составил ТЗ но не до конца, задача легкая но очень много фильтров нужны
 

У меня есть excel файлы отчетов, в этой задаче, в макросе должна быть  автоматизация формул, фильтры, сводная таблица.

Кидаю вам 6 файлов:
1) где написано вручную результат, я сам все сделал но вручную(здесь результаты как сделать)
2) где написано исходник там чистый файл нетронутый
3) макрос результат, это файл куда должен макрос результаты кидать
4)  ТЗ - здесь я написал подробно задании, но не до конца, завтра еще  отправлю тз, так как сегодня нету полного справочника чтобы сегодня  закончить

Еще скиньте мне мессенджер, я вам голосовой еще обьясню. Лучше если есть Telegram

Цена ориентировочно 250руб
Срок до пятницы 12:00, возможен продление до субботы

PS: остальные файлы не загрузились, кто возмет тому скину на почту
Напишите в лс
Изменено: Angelo125 - 31.07.2019 19:50:19
Макрос для создание Сводной таблицы, Макрос для создание Сводной таблицы
 
Нужно написать макрос для создание сводной таблицы из всех данных на листе на новый лист в файле. Перетащить поля между указанными областями: в (Фильтр отчета: ИНД, Счет ГК, УО), в (Название столбцов: пусто), в (Название строк: Пул МСФО), в (Значение: Общая сумма)

Помогите пж, не сталкивался с такой задачей. в гугле тоже не нашел подробно
Изменено: Angelo125 - 31.07.2019 08:50:25
Отфильтровать значения в некоторых столбцах и передать в другой файл
 
Напримир, у меня есть данные из отчетов, несколько десяток столбцов. И среди них нужные мне столбцы (шапки) <N бал. акк> ... <Остаток ОД> <в т.ч ОД%.>.
В столбце <N бал. акк> есть значение которые нужно по одтельности фильтровать (1401, 1411, 1417, 6126, 6177).  При каждом фильтре <N бал. акк> выходят присущиеся значение <Остаток ОД> <в т.ч ОД%.>. Мне надо через формулу
Код
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;W2:W253581)
написать МАКРОС для автоматизации. После чего макрос должен сам определять
Код
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;W2:W253581)
для отдельного <N бал. акк>(1401, 1411, 1417, 6126, 6177)
Буду благодарен за подсказку
Страницы: 1
Наверх