VBA快速分配多对多编码

实例需求:第二个工作表中的城市编码表(下文中简称为编码表)如左图所示,其中城市数量不确定。第一个工作表中的待填写表格如中图所示,其中首列为非排序状态,并且填写编码时,不能改变首列的数据顺序。

编码填写要求:

  • 根据地点从编码表中依次编号
  • 如果城市名称在编码表中不存在,则第二列留空
  • 如果编码表中对应城市的编码已经用完,则第二列留空
  • 注意:编码表中B列编号并非规律顺序编号

在这里插入图片描述

实例代码如下。

Sub Demo()
    Dim objDic As Object, rngData As Range
    Dim i As Long, sKey, arrData
    Set objDic = CreateObject("scripting.dictionary")
    Set rngData = Sheets(2).Range("A1").CurrentRegion
    arrData = rngData.Value
    For i = LBound(arrData) + 1 To UBound(arrData)
        sKey = arrData(i, 1)
        If Not objDic.exists(sKey) Then
            Set objDic(sKey) = New Collection
        End If
        objDic(sKey).Add item:=arrData(i, 2), key:=CStr(objDic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值