У меня есть книга объемом около 14 листов. Первый лист «Сводка» имеет следующую структуру:Вставить значение в столбце X, если столбец A соответствует значению
Electric Heat Comm. | Month1 | Month2 | Month 3 | etc.
NameA | CopiedValue | CopiedValue | CopiedValue | CopiedValue
NameB | CopiedValue | CopiedValue | CopiedValue | CopiedValue
NameC | CopiedValue | CopiedValue | CopiedValue | CopiedValue
| SUM | SUM | SUM | SUM
BLANK ROW ----- BLANK ROW ----- BLANK ROW ----- BLANK ROW ----- BLANK ROW ------
Gas Heat Comm. | Month1 | Month2 | Month 3 | etc.
NameA | CopiedValue | CopiedValue | CopiedValue | CopiedValue
NameB | CopiedValue | CopiedValue | CopiedValue | CopiedValue
NameC | CopiedValue | CopiedValue | CopiedValue | CopiedValue
| SUM | SUM | SUM | SUM
BLANK ROW ----- BLANK ROW ----- BLANK ROW ----- BLANK ROW ----- BLANK ROW ------
Combo Heat Comm. | Month1 | Month2 | Month 3 | etc.
NameA | CopiedValue | CopiedValue | CopiedValue | CopiedValue
NameB | CopiedValue | CopiedValue | CopiedValue | CopiedValue
NameC | CopiedValue | CopiedValue | CopiedValue | CopiedValue
| SUM | SUM | SUM | SUM
BLANK ROW ----- BLANK ROW ----- BLANK ROW ----- BLANK ROW ----- BLANK ROW ------
Total Est. Over | Total SUM | Total SUM | Total SUM | Total SUM
В каждой общине имеется специальная рабочая таблица в книге. Это лист содержит гранулированную деталь для каждого свойства в обществе, но только для текущего месяца (старые данные стирают в конце каждого месяца
Сообщества конкретных рабочих листы структурированы следующим образом:.
Address | columns with other data & calculations | Estimated Overage ($) | Other data
123 Main| other data from other columns | $XXX.XX | Other data
122 Main| other data from other columns | $XXX.XX | Other data
Blank | Blank | SUM of above values | blank
CopiedValue
на рабочем листе «Сводка» - это столбец «0» в столбце «I» на листе сообщества (оценочное значение «$»). Это значение уже вычисляется по формуле в нижней части столбца каждый месяц на листе рабочего листа Сообщества (может пересчитываться снова, если макрос легче записать).
Я пытаюсь написать код, который проверяет каждую ячейку в столбце A листа «Сводка» для имени сообщества (сохраняется как текстовое значение каждый раз, когда цикл выполняется в , называемом «db_community»), и, когда совпадение найденный, вставьте SUM столбца I в первый пустой столбец справа на листе «Сводка». По существу, соответствие значение соответствующего сообщества в колонке А.
Вот код, который я написал, чтобы начать, чтобы попытаться достичь этого результата:
Dim cell As Range
Dim db_community As String
For Each cell In Worksheets("Summary").Range("A4:A24")
If cell.Value = db_community Then
'Paste value from cell in other sheet to first empty
'cell at end of current row
End If
Next cell
Каждый месяц, ячейка, содержащая SUM
в отдельные листы меняются (в зависимости от количества записей в этом месяце). Это код, который записывает SUM
столбца и сохраняет его в качестве переменной в пустую ячейку ниже данных:
Dim sumRow as Long
Dim overRow as Long
Dim overValue As Long
sumRow = Range("I4").End(xlDown).Row
Cells(sumRow + 1, "I").Formula = "=SUM(I4:I" & sumRow & ")"
overRow = Range("I4").End(xlDown).Row
overValue = Cells(overRow, "I").Value
Так, по существу, в «Резюме» листа, мне нужно найти в колонке А, когда значение этой ячейки равно db_community (имя сообщества) и вставляет overValue в соответствующую ячейку в столбце нового месяца. Затем это повторяется до тех пор, пока не будет заполнен весь рабочий лист.
Самое главное, что каждый месяц необходимо разместить дополнительные столбцы на основе новых данных и нового календарного месяца.
Если это еще не ясно, обратитесь к нам. Любая помощь приветствуется.
Был много взять здесь, и это своего рода трудно понять таблицу фактически не видя его, поскольку он настолько велик. Но после прочтения вашего вопроса это звучит как «INDEX», а «MATCH» можно использовать вместо VBA, но это может стать довольно сложным. VBA, очевидно, все еще может работать, вы просто получите 'Row' из переменной' cell' в своем цикле и просто найдите следующую пустую ячейку в соответствующем листе. Просто google 'find empty cell in row' тонны результатов. – chancea
Поиск пустой строки работает, за исключением того, что мне нужно найти новую строку на основе строки совпадающего значения в столбце A. Это та часть, с которой у меня возникают проблемы ... Index Match будет работать, но я бы придется повторять это каждый месяц, когда запускается новый отчет. Скорее всего, это краткосрочная проблема, пока я не выясню код. Благодаря! – johnwonderbread