ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 综合应用 > 如何依据对照表实现名称简化?

如何依据对照表实现名称简化?

作者:绿色风 分类: 时间:2022-08-18 浏览:122
楼主
99253415
Q:如何依据对照表实现名称简化?具体请看附件,谢谢!

 
A:
VBA解法:
  1. Sub jc()
  2. Dim i As Long
  3. Dim j As Long
  4. Dim rng As Range
  5. On Error Resume Next
  6. For i = 2 To [A65536].End(xlUp).Row
  7. Set rng = Range("B18:P18").Find(Cells(i, 1), LookIn:=xlValues, lookat:=xlWhole)
  8. If Not rng Is Nothing Then
  9. Cells(i, 2) = rng.Offset(1, 0)
  10. End If
  11. Next i
  12. End Sub
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim Rng As Range
  3. Dim Arr1, Arr2
  4. Application.EnableEvents = False
  5. Arr1 = Split("厦门长春重庆路店卖店,厦门蛟河步行街专卖店,泉州本溪市万达商城专柜,泉州千盛百货专柜,泉州市北行鹏达商场专柜,泉州市虎石台专卖店,泉州市苏家屯老店,泉州市苏家屯站前专卖店,泉州市太原街工美商场专柜,泉州市铁西滔博专柜,泉州市铁西友谊专柜,泉州市新城子大店,泉州市新城子二店,泉州市兴隆新光专柜,泉州市中街旗舰专卖店", ",")
  6. Arr2 = Split("长春,蛟河,万达,千盛,北行,虎石台,苏一,苏二,工美,滔博,友谊,新一,新二,新光,中街", ",")
  7. For Each Rng In Target
  8. If Rng.Column = 1 And Rng.Value <> "" Then
  9. For n = LBound(Arr1) To UBound(Arr1)
  10. If Arr1(n) = Rng.Value Then
  11. Rng.Offset(0, 1) = Arr2(n)
  12. Exit For
  13. End If
  14. Next n
  15. End If
  16. If Rng.Column = 1 And Rng.Value = "" Then Rng.Offset(0, 1) = ""
  17. Next Rng
  18. Application.EnableEvents = True
  19. End Sub
函数解法:
C2下拉
  1. =HLOOKUP($A2,$18:$19,2,)

自动更正.rar
2楼
rabbitllu
VBA
先收藏
学习了函数解法,谢谢

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap