Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 995|回复: 7

大神给段代码,怎么判断切换名称

[复制链接]
发表于 2022-11-29 15:03 | 显示全部楼层 |阅读模式
微信截图_20221129145738.png
名称切换.zip (265.53 KB, 下载次数: 5)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-11-29 15:26 | 显示全部楼层
Sub demo()
   g = Range([g2], [g2].End(4))
   d = Range([d2], [d2].End(4))
   For i = 1 To UBound(d)
      Select Case g(i, 1)
        Case "奥德普", "鑫浩宇": d(i, 1) = "安全部件"
        Case "和昌", "莱升", "西泰":
         If d(i, 1) Like "人机交换" Then
            d(i, 1) = "操纵箱"
         End If
        Case "西泰", "立诺", "莱升":
         If d(i, 1) Like "线系统" Then
            d(i, 1) = "外呼"
         End If
        Case "沪宁":  d(i, 1) = "安全钳"
        Case "绿盾":  d(i, 1) = "缓冲器"
        Case "博量":  d(i, 1) = "夹绳器"
      End Select
   Next
   [d2].Resize(i - 1) = d  
End Sub


回复

使用道具 举报

 楼主| 发表于 2022-12-1 08:26 | 显示全部楼层
cutecpu 发表于 2022-11-29 15:26
Sub demo()
   g = Range([g2], [g2].End(4))
   d = Range([d2], [d2].End(4))

感谢大神,但是运行时错误哦 ,除了奥德普对应的名字会改变为安全部件 其他无法运行
回复

使用道具 举报

发表于 2022-12-1 08:58 | 显示全部楼层
透明世界1987 发表于 2022-12-1 08:26
感谢大神,但是运行时错误哦 ,除了奥德普对应的名字会改变为安全部件 其他无法运行

Sub demo()
   g =Range([g2], [g2].End(4))
   d =Range([d2], [d2].End(4))
   For i = 1To UBound(d)
      SelectCase g(i, 1)
        Case"奥德普","鑫浩宇":d(i, 1) = "安全部件"
        Case"和昌","莱升","西泰","立诺":
         Ifd(i, 1) Like "*人机交换"Then
           d(i, 1) = "操纵箱"
         EndIf
         Ifd(i, 1) Like "*线系统*"Then
           d(i, 1) = "外呼"
         EndIf
        Case"沪宁":  d(i, 1) = "安全钳"
        Case"绿盾":  d(i, 1) = "缓冲器"
        Case"博量":  d(i, 1) = "夹绳器"
      EndSelect
   Next
  [d2].Resize(i - 1) = d
End Sub

回复

使用道具 举报

 楼主| 发表于 2022-12-1 12:07 | 显示全部楼层
cutecpu 发表于 2022-12-1 08:58
Sub demo()   g =Range([g2], [g2].End(4))   d =Range([d2], [d2].End(4))   For i = 1To UBound(d)     ...

SelectCase g(i, 1)
到这里提示子过程或函数未定义
回复

使用道具 举报

发表于 2022-12-1 12:20 | 显示全部楼层
透明世界1987 发表于 2022-12-1 12:07
SelectCase g(i, 1)
到这里提示子过程或函数未定义

Sub demo()
   g =Range([g2], [g2].End(4))
   d =Range([d2], [d2].End(4))
   For i = 1 To UBound(d)
      Select Case g(i, 1)
        Case "奥德普","鑫浩宇":d(i, 1) = "安全部件"
        Case "和昌","莱升","西泰","立诺":
         If d(i, 1) Like "*人机交换" Then
           d(i, 1) = "操纵箱"
         End If
         If d(i, 1) Like "*线系统*" Then
           d(i, 1) = "外呼"
         End If
        Case "沪宁":  d(i, 1) = "安全钳"
        Case "绿盾":  d(i, 1) = "缓冲器"
        Case "博量":  d(i, 1) = "夹绳器"
      End Select
   Next
  [d2].Resize(i - 1) = d
End Sub

回复

使用道具 举报

 楼主| 发表于 2022-12-1 12:47 | 显示全部楼层
cutecpu 发表于 2022-12-1 12:20
Sub demo()
   g =Range([g2], [g2].End(4))
   d =Range([d2], [d2].End(4))

Case "和昌","莱升","西泰","立诺":
         If d(i, 1) Like "*人机交换" Then
           d(i, 1) = "操纵箱"
         End If
         If d(i, 1) Like "*线系统*" Then
           d(i, 1) = "外呼"
感谢大神,大神辛苦!!这里有问题,这四个供应商在人机交换有可能出现在线系统也可能出现,但是当在线系统出现的时候,和昌就不变了,另外三个变为外呼
回复

使用道具 举报

发表于 2022-12-1 13:39 | 显示全部楼层
透明世界1987 发表于 2022-12-1 12:47
Case "和昌","莱升","西泰","立诺":
         If d(i, 1) Like "*人机交换" Then
           d(i, 1) = ...

Sub demo()
   g = Range([g2], [g2].End(4))
   d = Range([d2], [d2].End(4))
   For i = 1 To UBound(d)
      Select Case g(i, 1)
        Case "奥德普", "鑫浩宇": d(i, 1) = "安全部件"
        Case "和昌":
           If d(i, 1) Like "人机交换" Then
              d(i, 1) = "操纵箱"
           End If
        Case "立诺":
           If d(i, 1) Like "线系统" Then
              d(i, 1) = "外呼"
           End If
        Case "西泰","莱升":
           If d(i, 1) Like "人机交换" Then
              d(i, 1) = "操纵箱"
           End If
           If d(i, 1) Like "线系统" Then
              d(i, 1) = "外呼"
           End If
        Case "沪宁":  d(i, 1) = "安全钳"
        Case "绿盾":  d(i, 1) = "缓冲器"
        Case "博量":  d(i, 1) = "夹绳器"
      End Select
   Next
   [d2].Resize(i - 1) = d  
End Sub


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 19:08 , Processed in 0.328898 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表