Макрос, который выполняет цикл и находит 2 текстовые строки, затем суммирует значения смещения на листе EXCEL

#excel #vba #sumifs

#excel #vba #sumifs

Вопрос:

это мой первый пост здесь, я застрял с макросом, чтобы найти две текстовые строки, например, Cars и Boats, затем суммирует все между ними в столбце C, промывает и повторяет (цикл для следующего совпадения) на том же листе.

Оригинал.

 A           B      C
CARS        1
ANYTHING    3 
ANYTHING    2 
BOATS       8 
  

Результат.

 A              B      C
CARS           1 ---> 1   
ANYTHING       3 ---> 3
ANYTHING       2 ---> 2
BOATS          8 ---> 8
SUM                  14 <--Calculated/sum
TAX               0.035 <--Fixed
TOTAL           SUM*TAX <--Calculated
  

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

Комментарии:

1. Не уверен насчет части «промыть и повторить», но вам нужна функция, которая суммирует диапазон между номерами 2 строк — легко. Вам нужна функция, которая определяет, на каких номерах строк находится некоторый текст (возможно, с параметром startSearchFromRow) — довольно просто. Покажите некоторый код, и мы поможем

2. Что ж, я могу показать, как я работал с формулами, я не знаю, как кодировать на vba, ни как к нему подступиться, у меня есть только базовые знания в области программирования.

Ответ №1:

Я не знаю, зачем вам для этого нужен VBA. Простых формул рабочего листа более чем достаточно.

 'sum in B5
=SUM(INDEX(B:B, MATCH("cars", A:A, 0)):INDEX(B:B, MATCH("boats", A:A, 0)))
'total in B7
=B5*SUM(1, B6)
  

Комментарии:

1. Это потому, что я хочу автоматизировать процесс самым простым способом, чтобы другие люди могли его использовать, я уже справлялся с этим с помощью formuls, но я никогда не работал с макросами в Excel.