无法使用VB.NET为excel中“命名”范围内的单元格添加值(此代码有什么问题?)

时间:2013-05-20 03:56:59

标签: vb.net excel range

我正在尝试实现以下循环,但我无法命名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理解:中级

感谢

1 个答案:

答案 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”& Ĵ