我正在尝试实现以下循环,但我无法命名excel范围。
Dim oXL As New Excel.Application
Dim oWB13 As Excel.Workbook
oWB13 = oXL.Workbooks.Open("F:\mybook.xlsx")
With oWB13
For i = 1 To 2
.Worksheets(i).Range("N102:XFD102").Name = "to_from"
With oWB13.Worksheets(i)
For j = 1 To 2
.Range("to_from").Cells(102, 13 + j).Value = "K" & j
Next
End With
Next
End With
oXL.Visible = True
预期结果 oWB13中每个工作表中的单元格N102和O103应分别具有名称/值K1和K2。
这里有什么问题?
VB.NET理解:中级
感谢
答案 0 :(得分:0)
我不确定你要做什么: 您的代码的结果是将单元格Sheet1!AA203:AB203和Sheet2!AA203:AB203设置为K1和K2,并且具有单个全局定义名称'to_from',指的是Sheet2!$ N $ 102:$ XFD $ 102
如果要设置N102和O103的值,则为
.Range(“to_from”)。单元格(102,13 + j).Value =“K”& Ĵ
应该读懂
.Range(“to_from”)。单元格(j,j).Value =“K”& Ĵ
(.Cells引用在范围内)
但是使用全局定义的名称amd立即重新定义它就像这样充其量混淆:为什么不只是使用范围地址?
.Range(“N102:XFD102”)。单元格(j,j).Value =“K”& Ĵ