У меня есть следующая таблица, столбец (даты), строки (идентификаторы и имена). Я пытаюсь добавить значения в каждую строку только в том случае, если в них есть семь последовательных значений. Никогда не делал никакого кодирования в vba, поэтому мне нелегко. Пытался написать формулу и код vba, но не зная синтаксиса, это было очень сложно.Excel vba вычисляет только в том случае, если 7 ячеек имеют одинаковые значения
Сканирование с C2 по AG2 , если С2> 0 и C2 = D2 = Е2 = F2 = G2 = Н2 = I2, то добавить С2 + D2 + Е2 + F2 + Н2 + I2 сохранить это значение в AL2 Повтор процесс до последнего заполненного ряда
Любое понимание этого было бы весьма полезным. Я пробовал обширный поиск на этом сайте и в google, но не смог найти ничего, что близко к тому, что я делаю, я смог узнать, как получить последний заполненный столбец (в моем случае он подходит только для AH), последний (в моем случае он доходит только до 55), для цикла. но не в состоянии объединить это.
Thx, Арчер
Так что если C2: I2 не равны, то что? Посмотрите на D2: J2? Если бы был матч, он бы тоже пошел в AL2? Стоп после того, как будет найден первый пробег из 7 значений и перейдите к следующей строке? –
Используйте объект [WorksheetFunction] (https://msdn.microsoft.com/en-us/library/office/ff834434.aspx) или [Метод Application.Evaluate] (https://msdn.microsoft.com/en- us/library/office/ff193019.aspx) для обработки '= if (и (count (c2: i2) = 7, average (c2: i2) = c2), sum (c2: i2)," ")'. – Jeeped
Tim, наш макрос/функция будет выглядеть от C2 до последнего значения в строке, если семь последовательных ячеек будут найдены с одинаковым значением, тогда вы добавите это значение и поместите его в AL2, затем переходите к следующей строке и выполняете то же самое и и так далее, результат будет AL2, AL3, AL4, до конца, тогда я могу использовать этот столбец для дальнейших вычислений. Thx – archer