如何以编程方式在Interop中的工作表中设置每隔一列

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

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

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

但是在J列中,其他列必须有公式=something2

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

首先,创build一个函数来定义一个范围作为每个其他列,这是一个变种 (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 

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