根据列中的值创建命名范围

问题描述 投票:-1回答:1

我想基于列B中的值创建一个命名范围。

例如(1,2,很棒)(5,21,缝制)(6、21,测试)(7,22,嗨)(1、21,随机)

我想创建一个名称范围为UNIT21的命名范围,从上面引用的数据中可以看到A2:C4和A6:C6。另外一个名为range = UNIT22的数据在其B列中具有22。

现在的问题是,1.我不知道如何从A:C中为整个行选择整个行。和,2.如何将新数据添加到现有的命名范围,而不是像我的代码现在所做的那样替换现有值。

Excel VBA和编程的初学者。谢谢!

cross-posted
Sub naming()
Dim row_index As Long
Dim lastrow As Long: lastrow = 5

Dim NamedRange As Range
Dim celltomap As Range

Dim Rng As Range

For row_index = 1 To lastrow


    RangeName = Sheet3.Range("A2:C6").Cells(row_index, 2).Value
    Set celltomap = Sheet3.Range("A2:C6").Cells(row_index, 3)

    Sheet3.Names.Add Name:="UNIT" & RangeName, RefersTo:=celltomap

    MsgBox ("UNIT" & RangeName)

    Next row_index


End Sub

enter image description here

我想基于列B中的值创建一个命名范围。例如(1,21,great)(5,21,sew)(6,21,test)(7,22,hi)(1 ,21,随机)我要创建名称为:UNIT21,...

excel vba named-ranges
1个回答
0
投票

这应该做:

© www.soinside.com 2019 - 2024. All rights reserved.