Excel精英培训网

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

[已解决]请帮助看看如何使B列显示符合条件的数据,用代码,谢谢

[复制链接]
发表于 2014-2-27 13:07 | 显示全部楼层 |阅读模式
本帖最后由 chensir 于 2014-2-27 13:46 编辑

如果A列是“人事行政部”、“财务部”、“资讯部”、“商务工程部”、“培训企划部”,那么B列显示为“大区”,但如果同时D列中含“租金”或“物业”,B列显示C列中数据,其他条件B列均为C列中数据
最佳答案
2014-2-27 13:41
a8和要求不一致,是否有误?
  1. Sub Macro1()
  2. Dim arr, brr, zf$, i&
  3. arr = Range("a1").CurrentRegion
  4. ReDim brr(1 To UBound(arr) - 1, 1 To 1)
  5. zf = "人事行政部,财务部,资讯部,商务工程部,培训企划部"
  6. For i = 2 To UBound(arr)
  7.     If InStr(zf, arr(i, 1)) Then
  8.         brr(i - 1, 1) = "大区"
  9.         If InStr(arr(i, 4), "租金") > 0 Or InStr(arr(i, 4), "物业") > 0 Then brr(i - 1, 1) = arr(i, 3)
  10.     Else
  11.         brr(i - 1, 1) = arr(i, 3)
  12.     End If
  13. Next
  14. Range("b2").Resize(UBound(brr)) = brr
  15. End Sub
复制代码

工作簿1.zip

6.88 KB, 下载次数: 6

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-2-27 13:25 | 显示全部楼层
  1. Sub jj()
  2. Dim r As Long
  3. Dim i As Long
  4. Dim mystr As String
  5. r = Cells(1, 1).End(xlDown).Row

  6. For i = 2 To r
  7.    If Cells(i, 1) = "人事行政部" Or Cells(i, 1) = "财务部" Or Cells(i, 1) = "人事行政部" Or Cells(i, 1) = "资讯部" Or Cells(i, 1) = "商务工程部" Or Cells(i, 1) = "培训企划部" Then
  8.       If InStr("租金", Cells(i, 4)) > 0 Or InStr("物业", Cells(i, 4)) > 0 Then
  9.          Cells(i, 2) = "大区"
  10.       Else
  11.          Cells(i, 2) = Cells(i, 3)
  12.       End If
  13.    Else
  14.       Cells(i, 2) = Cells(i, 3)
  15.    End If
  16. Next
  17. End Sub
复制代码

评分

参与人数 1 +10 收起 理由
chensir + 10

查看全部评分

回复

使用道具 举报

发表于 2014-2-27 13:26 | 显示全部楼层
表格中的“培训企划部”有个错别字,写成了“培训企化部”
回复

使用道具 举报

发表于 2014-2-27 13:41 | 显示全部楼层    本楼为最佳答案   
a8和要求不一致,是否有误?
  1. Sub Macro1()
  2. Dim arr, brr, zf$, i&
  3. arr = Range("a1").CurrentRegion
  4. ReDim brr(1 To UBound(arr) - 1, 1 To 1)
  5. zf = "人事行政部,财务部,资讯部,商务工程部,培训企划部"
  6. For i = 2 To UBound(arr)
  7.     If InStr(zf, arr(i, 1)) Then
  8.         brr(i - 1, 1) = "大区"
  9.         If InStr(arr(i, 4), "租金") > 0 Or InStr(arr(i, 4), "物业") > 0 Then brr(i - 1, 1) = arr(i, 3)
  10.     Else
  11.         brr(i - 1, 1) = arr(i, 3)
  12.     End If
  13. Next
  14. Range("b2").Resize(UBound(brr)) = brr
  15. End Sub
复制代码
回复

使用道具 举报

发表于 2014-2-27 13:44 | 显示全部楼层
………………

工作簿1.zip

15.01 KB, 下载次数: 7

回复

使用道具 举报

 楼主| 发表于 2014-2-27 13:46 | 显示全部楼层
冥王 发表于 2014-2-27 13:25

多谢              
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 08:14 , Processed in 0.410523 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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