Нужно, чтобы нажав на кнопку можно было бы выбрать диапазон значений ( всегда столбец будет один и тот же ) и чтобы автоматически справа каждой ячейки значение увеличилось на 2
К примеру я выбираю range с B3 по B6 ; в С3 должно появиться 3, С4 4, C5 9 и тд
Как я понимаю, сначала нужно посчитать количество выбранных ячеек (Count), обозначить как i и дальше использоваться цикл for each i=1 to selection do
Заранее спасибо за помощь!
P.S. Попробовал сам написать - плохо пока получается((
[vba]
Код
Sub Button()
Dim InputRange As Object Dim NumberOfCells As Integer Dim i As Integer Dim Array_Cells() Set InputRange = Application.InputBox(msg, "Active Cell", , , , , , 8) Application.ScreenUpdating = False NumberOfCells = InputRange.Count ReDim Array_Cells(1 To NumberOfCells) For i = 1 To NumberOfCells k = Array_Cells.Row(i) Cells(k, C) = Cells(k, b) * 2 Next i End Sub
[/vba]
[admin]Оформляйте коды тегами![/admin]
Помогите пожалуйста.
Нужно, чтобы нажав на кнопку можно было бы выбрать диапазон значений ( всегда столбец будет один и тот же ) и чтобы автоматически справа каждой ячейки значение увеличилось на 2
К примеру я выбираю range с B3 по B6 ; в С3 должно появиться 3, С4 4, C5 9 и тд
Как я понимаю, сначала нужно посчитать количество выбранных ячеек (Count), обозначить как i и дальше использоваться цикл for each i=1 to selection do
Заранее спасибо за помощь!
P.S. Попробовал сам написать - плохо пока получается((
[vba]
Код
Sub Button()
Dim InputRange As Object Dim NumberOfCells As Integer Dim i As Integer Dim Array_Cells() Set InputRange = Application.InputBox(msg, "Active Cell", , , , , , 8) Application.ScreenUpdating = False NumberOfCells = InputRange.Count ReDim Array_Cells(1 To NumberOfCells) For i = 1 To NumberOfCells k = Array_Cells.Row(i) Cells(k, C) = Cells(k, b) * 2 Next i End Sub
Из вашего объяснения мало что понятно, попробуйте так: [vba]
Код
Sub Button() Dim InputRange As Object Dim NumberOfCells As Integer Dim i As Integer Set InputRange = Application.InputBox(msg, "Active Cell", , , , , , 8) NumberOfCells = InputRange.Count For i = 3 To NumberOfCells + 2 Cells(i, 3) = Cells(i, 2) * 2 Next i End Sub
[/vba]
Из вашего объяснения мало что понятно, попробуйте так: [vba]
Код
Sub Button() Dim InputRange As Object Dim NumberOfCells As Integer Dim i As Integer Set InputRange = Application.InputBox(msg, "Active Cell", , , , , , 8) NumberOfCells = InputRange.Count For i = 3 To NumberOfCells + 2 Cells(i, 3) = Cells(i, 2) * 2 Next i End Sub
Мне нужно обозвать строку первую ячейки в выбранном диапазоне - через k в реальном примере у меня очень много строк и столбец может быть не третьем и любым
Мне нужно обозвать строку первую ячейки в выбранном диапазоне - через k в реальном примере у меня очень много строк и столбец может быть не третьем и любымDennis
Последний вариант, для любой строки и любого столбца:
[vba]
Код
Sub Button() Dim InputRange As Object Dim NumberOfCells As Integer Dim i, k, s As Integer Set InputRange = Application.InputBox("Выберите диапазон:", "Active Cell", , , , , , 8) NumberOfCells = InputRange.Rows.Count k = InputRange.Row s = InputRange.Column For i = k To NumberOfCells + k - 1 Cells(i, s + 1) = Cells(i, s) + 2 Next i End Sub
[/vba]
Последний вариант, для любой строки и любого столбца:
[vba]
Код
Sub Button() Dim InputRange As Object Dim NumberOfCells As Integer Dim i, k, s As Integer Set InputRange = Application.InputBox("Выберите диапазон:", "Active Cell", , , , , , 8) NumberOfCells = InputRange.Rows.Count k = InputRange.Row s = InputRange.Column For i = k To NumberOfCells + k - 1 Cells(i, s + 1) = Cells(i, s) + 2 Next i End Sub