如何以编程方式设置Interop中工作表中的每个其他列

时间:2009-01-16 01:44:29

标签: excel interop range formula

使用Excel Interop(.NET)如何以编程方式为每个其他列设置两个不同的Excel公式。例如,

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

将为每个细胞做到这一点。

但在J列中,每个其他列都必须包含公式=something2

范围的大小仅在运行时才知道。

1 个答案:

答案 0 :(得分:1)

首先,您创建一个函数来将范围定义为每隔一列variant of this(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

然后,您只需将公式分配给该范围。