簡體   English   中英

如何使用 Excel VBA 中的循環創建命名范圍?

[英]How to create Named Ranges using a loop in Excel VBA?

我想在我的 Excel 工作表中創建命名范圍,稍后應將其復制到另一個工作表。
我創建了一個命名范圍的代碼,如下所示:

Sub Sample1()

Dim RangeName As String

    RangeName1 = Worksheets("DB_Elements").Range("B3")
    ThisWorkbook.Names.Add Name:=RangeName1, RefersTo:=Worksheets("DB_Elements").Range("B3:V14")
    
    RangeName2 = Worksheets("DB_Elements").Range("B17")
    ThisWorkbook.Names.Add Name:=RangeName2, RefersTo:=Worksheets("DB_Elements").Range("B17:V28")

但是,這需要再重復 85 次。 所以我需要在我的 VBA 中創建一個循環,每次都會創建一個基於“B”單元格值的新命名范圍,該單元格值總是向下偏移 14 行。 命名范圍總是由 12 行和 21 列組成。

嘗試這個:

Sub Sample1()
  Dim i As Long
  Dim j As Long
  With Worksheets("DB_Elements")
    For i = 1 To 85
      j = (i - 1) * 14 + 3
      ThisWorkbook.Names.Add Name:=.Range("B" & j), RefersTo:=.Range("B" & j & ":V" & (j + 11))
    Next
  End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM