Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: dengdeng我

[已解决]急急急,求助excel问题

[复制链接]
 楼主| 发表于 2017-6-9 09:44 | 显示全部楼层

请看

工作簿1.rar

10.57 KB, 下载次数: 2

回复

使用道具 举报

 楼主| 发表于 2017-6-9 09:54 | 显示全部楼层

请看

工作簿1.rar

10.57 KB, 下载次数: 5

回复

使用道具 举报

发表于 2017-6-9 10:23 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-6-9 10:27 | 显示全部楼层
苏子龙 发表于 2017-6-9 10:23
语文没学好,看不懂

[em19],是我表达不好?
回复

使用道具 举报

发表于 2017-6-9 11:08 | 显示全部楼层
确实,你现在的附件内容,我也没看明白。
回复

使用道具 举报

 楼主| 发表于 2017-6-9 11:22 | 显示全部楼层
大灰狼1976 发表于 2017-6-9 11:08
确实,你现在的附件内容,我也没看明白。

其实就是按客户给的数量将A替换成客户名称,如果出现客户选的数量大于A的数量则按A的数量执行

这是我的表,A带表可选的

这是我的表,A带表可选的

这是客户给我的每个楼盘的数量

这是客户给我的每个楼盘的数量

这是我要得出的结果

这是我要得出的结果
回复

使用道具 举报

发表于 2017-6-9 11:41 | 显示全部楼层    本楼为最佳答案   
  1. Sub aaa()
  2. Dim s$, d As Object
  3. Set d = CreateObject("scripting.dictionary")
  4. s = "DADA"
  5. For i = 3 To [e65536].End(3).Row
  6.   d(Cells(i, 5).Value) = Cells(i, 6)
  7. Next i
  8. For i = 2 To [a65536].End(3).Row
  9.   If Cells(i, 3) = "A" Then
  10.     If d(Cells(i, 2).Value) > 0 Then
  11.       Cells(i, 3) = s
  12.       d(Cells(i, 2).Value) = d(Cells(i, 2).Value) - 1
  13.     End If
  14.   End If
  15. Next i
  16. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2017-6-9 14:12 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 16:14 , Processed in 0.177256 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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