我一直在编写一些代码来从应用程序中提取数据并将其解析为电子表格。
我的电子表格如下所示:
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”)=“新行数据,第一列”
任何想法我该怎么做?
答案 0 :(得分:0)
我猜你的帖子是你每次都打开一个工作簿并更新相同的列值?
您可以通过选择工作表中的单元格并在名称框中输入名称来命名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索引时看不到任何问题。