Дата: Понедельник, 03.06.2013, 10:05 |
Сообщение № 1
Группа: Гости
Здравствуйте. Необходимо сделать так, чтобы при нажатии кнопки была выполненна сумма ячеек (С6-С100)=(С6-С100)+(D6-D100). Запись (С6-С100) говорит о том, что имееются ввиду ячейки с С6 по С100. Спасибо!
Здравствуйте. Необходимо сделать так, чтобы при нажатии кнопки была выполненна сумма ячеек (С6-С100)=(С6-С100)+(D6-D100). Запись (С6-С100) говорит о том, что имееются ввиду ячейки с С6 по С100. Спасибо!Николай
Дата: Понедельник, 03.06.2013, 10:36 |
Сообщение № 5
Группа: Гости
Для одной строки у меня получилось это сделать следующим образом Sub x() [C6] = [C6] + [D6] End Sub И зацикливание не вызывает. А вот как сделать, чтоб для строк с С6 по С100? Может есть возможность, чтобы не писать для каждой по отдельности?
Для одной строки у меня получилось это сделать следующим образом Sub x() [C6] = [C6] + [D6] End Sub И зацикливание не вызывает. А вот как сделать, чтоб для строк с С6 по С100? Может есть возможность, чтобы не писать для каждой по отдельности?Николай
Sub SumRanges(r1 As Range, r2 As Range) If r1.Rows.Count <= r2.Rows.Count And r1.Columns.Count <= r2.Columns.Count Then For Each cell In r1.Cells cell.Value = cell.Value + r2.Cells(1, 1).Offset(cell.Row - r1.Row, cell.Column - r1.Column).Value Next End If End Sub
[/vba] Вызов: [vba]
Код
Call SumRanges([C6:C100], [D6:D100])
[/vba]
Процедура: [vba]
Код
Sub SumRanges(r1 As Range, r2 As Range) If r1.Rows.Count <= r2.Rows.Count And r1.Columns.Count <= r2.Columns.Count Then For Each cell In r1.Cells cell.Value = cell.Value + r2.Cells(1, 1).Offset(cell.Row - r1.Row, cell.Column - r1.Column).Value Next End If End Sub