Как программно установить каждый второй столбец на листе в Interop - PullRequest
1 голос
/ 16 января 2009

Используя Excel Interop (.NET), как мы можем программно установить две разные формулы Excel для каждого другого столбца. Например,

Range r = _sheet.get_Range(_sheet.Cells[1, 1], _sheet.Cells[I, J])  
r.Formula = "=something1"

сделает это для каждой ячейки.

Но в столбцах J каждый второй столбец должен иметь формулу =something2.

Размер диапазона известен только во время выполнения.

1 Ответ

1 голос
/ 05 ноября 2010

Сначала вы создаете функцию для определения диапазона, как и любой другой столбец, вариант этого (VBA):

Sub EveryOtherColumn()

   Dim rangeString As String
   Dim columnLetter As String
   Dim i As Long

   Dim firstCol, lastCol As Long
   firstCol = Selection.Column
   lastCol = Selection.Columns.Count + firstCol - 1

   For i = firstCol To lastCol Step 2
     columnLetter = Chr(i + 64)
     rangeString = rangeString & "," & columnLetter & ":" & columnLetter
   Next i

   rangeString = Mid(rangeString, 2)

   Range(rangeString).Select

End Sub

Затем вы просто назначаете формулу этому диапазону.

...