2

我似乎找不到在 VB.net 中使用我的 VBA 技巧之一的方法

例如选择这个范围在 VBA 中有效:

Dim Border As Range   
Border = Range(Cells(2, 3), Cells(10, 4)).Select

在 Visual Studio 中,我只能使用一个“单元格”来调用一个范围。上面相同的代码强调了“细胞”这个词,即使我有它也没有声明:

Dim Border As Excel.Range
Border = Range(Cells(2, 3), Cells(10, 4)).Select()

我使用 .Row 和 .Column 来识别数据集维度。我试着到处寻找解释/解决方案。也许我正朝着错误的方向努力。有人知道吗?

4

2 回答 2

1

您需要使用范围或工作表来限定单元格。单元格引用并不像在 VBA 中那样隐含。

C#:

internal static void TestRangeCells(Worksheet worksheet)
{
    Range range = worksheet.Range(worksheet.Cells[1, 1], worksheet.Cells[5, 10]);
    MessageBox.Show(range.Address);
}
于 2013-08-16T19:41:46.563 回答
0

根据http://msdn.microsoft.com/de-de/library/aa288993(v=vs.71).aspx,以下应该有效:

Border = ws.get_Range("B3:J4",Type.Missing);

这只是使用列编码为字母的单元格名称,而不是索引 (2 -> B, 10 ->J)。如果需要,您可能可以在代码中动态构建字符串。

于 2013-08-16T18:57:39.123 回答