0

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

谢谢

4

1 回答 1

0

我不确定您要做什么:您的代码的结果是将单元格 Sheet1!AA203:AB203 和 Sheet2!AA203:AB203 设置为 K1 和 K2,并有一个单一的全局定义名称“to_from”引用 Sheet2 !$N$102:$XFD$102

如果要设置 N102 和 O103 的值,则
.Range("to_from").Cells(102, 13 + j).Value = "K" & j 应为
.Range("to_from").Cells(j, j).Value = "K" & j
(.Cells 引用在范围内)

但是使用全局定义的名称并立即重新定义它充其量是令人困惑的:为什么不只使用范围地址呢?
.Range("N102:XFD102").Cells(j, j).Value = "K" & j

于 2013-05-20T19:04:26.250 回答