通过VB.net使用Excel的“单元格”选择连续范围

时间:2013-08-16 18:46:34

标签: vb.net visual-studio-2010 visual-studio vba excel-vba

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

例如,选择此范围适用于VBA:

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

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

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

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

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分: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)。如果需要,您可以在代码中构建动态字符串。