使用电子表格中的列名称没有索引,使用vb,net

时间:2012-09-27 13:20:51

标签: vb.net excel

我一直在编写一些代码来从应用程序中提取数据并将其解析为电子表格。

我的电子表格如下所示:

Scenario     ClientName         ClientNumber

5555        Smith               s0001

6776        Charles           d6666

我有这段代码:

Dim ObjExcel As New Excel.Application             Dim sWindow作为新的WinWindow             ObjExcel.Visible = False             Dim stext As String

            ObjExcel.Workbooks.Open("c:\data\calcresults.xlsx")
            Dim ObjWS As Excel.Worksheet = ObjExcel.Worksheets("IP")

            Dim iNextRow As Integer = ObjWS.UsedRange.End(Excel.XlDirection.xlDown).Row + 1

            ObjWS.Cells(iNextRow,1 ) = "d66666"
            ObjWS.Cells(iNextRow, 2) = "s77898"

希望使用Column Name而不是index,例如:

ObjWS.Cells(iNextRow,“Scenario”)=“新行数据,第一列”

任何想法我该怎么做?

1 个答案:

答案 0 :(得分:0)

我猜你的帖子是你每次都打开一个工作簿并更新相同的列值?

您可以通过选择工作表中的单元格并在名称框中输入名称来命名Excel中的范围,如下所示:

Excel

然后你可以操作如下:

Dim r1 As Range
Set r1 = ActiveSheet.Range("Scenario")

r1.Value = "OOps, changed it!"
r1.Offset(1, 0).Value = "This is A2"

此外,您可以参考范围:

Dim r As Range
Set r = ActiveSheet.Range("A1")
r.Value = "gello"

您还可以为多个单元格设置范围的名称 - 即多行/列。然后操纵:

Dim r2 As Range
Set r2 = ActiveSheet.Range("SomethingElse")
r2.Cells(1) = "Summit Else 0"
r2.Cells(2) = "Summit Else 1"
r2.Cells(3) = "Summit Else 2"

我只是访问row / col索引时看不到任何问题。