Excel精英培训网

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

[已解决]根据A列数据的前两位不同的字母,返回不同的数值,谢谢高手们了

[复制链接]
发表于 2014-4-4 22:25 | 显示全部楼层 |阅读模式
你好,能否再帮帮我,谢谢了:用VBA代码实现:根据A列数据的前两位不同的字母,如:BZ、CJ、TD、ZW等,赋于不同的内容(资产类别如:电器、电脑等等),并将该内容的值填充到表中的N列中。详见附件。
最佳答案
2014-4-5 07:12
lzrlzr 发表于 2014-4-4 23:50
Sub TT()

Dim My_D
  1. Sub 按钮1_Click()


  2. Dim My_D
  3. Dim x


  4. Set My_D = CreateObject("scripting.dictionary")

  5. My_D("BZ") = "电脑"
  6. My_D("CJ") = "电器"
  7. My_D("TD") = "雨伞"


  8. For x = 3 To Range("A65536").End(xlUp).Row

  9. Range("N" & x).Value = My_D(Left(Range("A" & x).Value, 2))

  10. Next


  11. End Sub
复制代码
不好意思,我以为提供思路就好,所以没有测试,忘记加双引号了~已修正了

资产.zip

45.39 KB, 下载次数: 12

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-4-4 22:58 | 显示全部楼层
按照以下思路可以达成目的

  1. Dim My_D
  2. Dim x

  3. Set My_D = CreateObject("scripting.dictionary")
  4.     My_D(BZ) = "电脑"
  5.     My_D(CJ) = "电器"
  6.    
  7. For x = 3 To Range("A65536").End(xlUp).Row
  8.     Range("N" & x).Value = My_D(Left(Range("A" & x).Value, 2))
  9. Next

  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-4-4 23:50 | 显示全部楼层
王谦 发表于 2014-4-4 22:58
按照以下思路可以达成目的

Sub TT()

Dim My_D
Dim x

Set My_D = CreateObject("scripting.dictionary")
    My_D(BZ) = "μçÄÔ"
    My_D(CJ) = "μçÆ÷"

For x = 3 To Range("A65536").End(xlUp).Row
    Range("N" & x).Value = My_D(Left(Range("A" & x).Value, 2))
Next

End Sub
你好,运行上面 的宏TT,怎么没反映呢,我是个菜鸟,不懂的,你能再帮帮我,做成附件 ,上传?谢谢了



回复

使用道具 举报

发表于 2014-4-5 07:12 | 显示全部楼层    本楼为最佳答案   
lzrlzr 发表于 2014-4-4 23:50
Sub TT()

Dim My_D
  1. Sub 按钮1_Click()


  2. Dim My_D
  3. Dim x


  4. Set My_D = CreateObject("scripting.dictionary")

  5. My_D("BZ") = "电脑"
  6. My_D("CJ") = "电器"
  7. My_D("TD") = "雨伞"


  8. For x = 3 To Range("A65536").End(xlUp).Row

  9. Range("N" & x).Value = My_D(Left(Range("A" & x).Value, 2))

  10. Next


  11. End Sub
复制代码
不好意思,我以为提供思路就好,所以没有测试,忘记加双引号了~已修正了

资产_Q.zip

47.49 KB, 下载次数: 2

评分

参与人数 1 +1 收起 理由
lzrlzr + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-4-6 19:58 | 显示全部楼层
王谦 发表于 2014-4-5 07:12
不好意思,我以为提供思路就好,所以没有测试,忘记加双引号了~已修正了

谢谢了,不错
回复

使用道具 举报

发表于 2014-4-7 19:37 | 显示全部楼层
lzrlzr 发表于 2014-4-6 19:58
谢谢了,不错

如果觉得不错的话 给设个最佳答案呗~{:091:}
回复

使用道具 举报

 楼主| 发表于 2014-4-12 22:24 | 显示全部楼层
王谦 发表于 2014-4-5 07:12
不好意思,我以为提供思路就好,所以没有测试,忘记加双引号了~已修正了

老师你好,请再帮我看看,能否实现:在该附件的VBA代码基础上加入(或修改)代码能够实现:当点击“入库单录入”表中的“B10:B15”单元格弹出的“双击物料直接录入”输入框中左侧输入项能够根据“物品”中的A列的前四位字母,,生成"WJWH"和"DHGL"等主选项按钮.3,各个按钮能根据“物品”中A列"的数据分门别类的区分开来,并各自放置在各个按钮中.如所有"WJWH"开头的放在"WJWH"中等等。详见附件,谢谢了!

附件.rar

60.81 KB, 下载次数: 3

回复

使用道具 举报

发表于 2014-4-13 19:49 | 显示全部楼层
lzrlzr 发表于 2014-4-12 22:24
老师你好,请再帮我看看,能否实现:在该附件的VBA代码基础上加入(或修改)代码能够实现:当点击“入 ...

不好意思 ~这个我也不会~
回复

使用道具 举报

发表于 2014-4-15 15:30 | 显示全部楼层
王谦 发表于 2014-4-13 19:49
不好意思 ~这个我也不会~

你好,请帮我设计 一下代码,能够实现:1、当点击表中D4时,能够生成“MX"表中C列所有单元格="CKMX"表的D4单元值的工作表,且表头不变的。2、另外设计一个按钮,当点击该按钮时,就会把刚生成的工作表删除,而不会影响其他 的工作表。(详见附件)

工作表.zip

58.95 KB, 下载次数: 1

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 19:00 , Processed in 0.477051 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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