Как объединить значения нескольких ячеек (динамические) в одной конкретной ячейке в Excel с помощью макроса VBA?

#excel #excel-formula #vba

#excel #excel-формула #vba

Вопрос:

Я работаю в согласии в качестве помощника по работе с клиентами. Мне нужно генерировать отчет о невыполненных платежах каждый месяц. Ниже приведен мой основной лист данных, в котором я регулярно обновляю счет-фактуру клиента, сумму, дату счета-фактуры и статус платежа

Основная таблица

В конце каждого месяца мне нужно подготовить отчет, как показано ниже (имя листа, который содержит два столбца, clients и еще один pending_date_amount). Вручную я ввожу все ожидающие дату и сумму счета и общую ожидающую сумму в следующую ячейку в соответствующие ячейки имени клиента. Этот процесс занимает больше времени. Если кто-нибудь предложит, как упростить этот процесс и избежать ручного процесса, формулы или VBA (у меня очень мало знаний в VBA), пожалуйста, помогите в этом, и мое рабочее давление уменьшится.

Таблица отчетов

Ответ №1:

Вы можете создать функцию, которая перебирает всех клиентов в Mainsheet. Если статус платежа находится на рассмотрении, запишите его на дополнительный лист. Это не так сложно. Я бы посоветовал вам получить базовые знания в Excel vba. Вы можете использовать это или что-нибудь еще. В Интернете много ресурсов. Просто чтобы дать вам представление, вот пример псевдокода:

 Dim lRowCountMain as Long
Dim lRowCountReport as Long
lRowCountMain = 1
lRowCountReport = 1

do
    If Table1.Range("D" amp; lRowCountMain).Value = "Pending" Then
        'Write your needed information
        Table2.Range("A" amp; lRowCountReport).Value = "Some Information"
        lRowCountReport = lRowCountReport  1
    End If
lRowCountMain = lRowCountMain  1
Loop Until lRowCountMain = 5000 Or Table1.Range("A" amp; lRowCountMain).text = ""