Excel精英培训网

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

[已解决]D列值包括某一字符就在E列填入标识

[复制链接]
发表于 2022-12-9 16:25 | 显示全部楼层 |阅读模式
1学分
各位大神:
     附表中需在D列值包括某一字符就在E列填入标识,具体的判断条件为1.D列材料系统里只要包含J的就是,对应E列就填入HJ,2.D列材料系统里只要包含B的就是,对应E列就填入WXB,3.D列材料系统里有中文字符的,对应E列就填入MB,4.其它的E列就填入WX。我试着写了两段,可是运行的结果是错误的,麻烦有经验的各位帮我指下错误在哪里?当然帮我写下正确的代码应该如何!谢谢
最佳答案
2022-12-9 16:25
  1. Sub test1()
  2.     Dim vArr, i&
  3.     vArr = Sheet1.Range("A2").CurrentRegion
  4.     For i = 2 To UBound(vArr)
  5.         If InStr(vArr(i, 4), "J") Then
  6.             vArr(i, 5) = "HJ"
  7.         ElseIf InStr(vArr(i, 4), "B") Then
  8.             vArr(i, 5) = "WB"
  9.         ElseIf vArr(i, 4) Like "*[一-龢]*" Then
  10.             vArr(i, 5) = "MB"
  11.         Else
  12.             vArr(i, 5) = "WX"
  13.         End If
  14.     Next i
  15.     Columns("A:B").NumberFormatLocal = "@"
  16.     Sheet1.Range("A2").CurrentRegion = vArr
  17. End Sub
复制代码

D列值包括某一字符就在E列填入标识.zip

17.76 KB, 下载次数: 7

发表于 2022-12-9 16:25 | 显示全部楼层    本楼为最佳答案   
  1. Sub test1()
  2.     Dim vArr, i&
  3.     vArr = Sheet1.Range("A2").CurrentRegion
  4.     For i = 2 To UBound(vArr)
  5.         If InStr(vArr(i, 4), "J") Then
  6.             vArr(i, 5) = "HJ"
  7.         ElseIf InStr(vArr(i, 4), "B") Then
  8.             vArr(i, 5) = "WB"
  9.         ElseIf vArr(i, 4) Like "*[一-龢]*" Then
  10.             vArr(i, 5) = "MB"
  11.         Else
  12.             vArr(i, 5) = "WX"
  13.         End If
  14.     Next i
  15.     Columns("A:B").NumberFormatLocal = "@"
  16.     Sheet1.Range("A2").CurrentRegion = vArr
  17. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2022-12-12 08:30 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 19:12 , Processed in 0.457033 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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