Страницы: 1
RSS
Записать в VBA формулу R1C1
 
Здравствуйте, начал изучать 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
Изменено: Alvin1102 - 28.05.2015 21:12:41
 
Не в стиле R1C1 у меня получилось так (если нужна именно таблица умножения)
Код
Sub MM()
For I = 1 To 10
For J = 1 To 10
Cells(I, J) = I * J
Next
Next
End Sub

 
MBT, да,спасибо так тоже пойдет, как всё может быть просто. ладно буду дальше грызть vba.
Но всё же, если бы это была не именно таблица умножения, возможна ли в принципе такая формула?
 
Цитата
Alvin1102 написал: начал изучать 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--выключаете запись. Открываете записанный макрос и смотрите что получилось. Вместо адреса ячейки пишите нужный диапазон.
Изменено: gling - 28.05.2015 21:48:52
 
Казанский, вот это класс! Ну конечно же -  Массив! Понял, проникся, повторил, не подглядывая. :)
Спасибо всем большое.
Страницы: 1
Читают тему
Наверх