Здравствуйте, начал изучать vba и в качестве первого задания, для себя, решил сделать такую таблицу умножения. Помогите пожалуйста с формулой в стиле R1C1, тут должна быть смешанная формула, но как её в этом стиле написать не знаю, уууу, всю голову уже сломал.(((
Код
Sub Table()
For i = 1 To 10
With ActiveCell
.Cells(0, 1 + i) = i
.Cells(i, 1) = i
.Range(Cells(1, 2), Cells(10, 11)).Formula = "=???????"
End With
Next i
End Sub
MBT, да,спасибо так тоже пойдет, как всё может быть просто. ладно буду дальше грызть vba. Но всё же, если бы это была не именно таблица умножения, возможна ли в принципе такая формула?
Замечательно! Зайдите в Tools - Options - Editor и сделайте два изменения: 1. Снимите флажок Auto Syntax Check 2. Установите флажок Require Variable Declaration Первое для удобства, чтобы редактор не беспокоил не по делу. А второе убережет Вас от многих головоломок "почему не работает", заставляя объявлять переменные. Код может быть таким:
Код
Sub Table()
Dim i As Long
With ActiveCell
For i = 1 To 10
.Cells(0, 1 + i) = i
.Cells(i, 1) = i
Next i
.Cells(1, 2).Resize(10, 10).FormulaArray = "=R[-1]C:R[-1]C[9]*RC[-1]:R[9]C[-1]"
End With
End Sub
Здравствуйте. Пишите формулу в удобном Вам стиле. Включаете запись макроса--курсор в ячейку или в строку формул -- Enter--выключаете запись. Открываете записанный макрос и смотрите что получилось. Вместо адреса ячейки пишите нужный диапазон.