Excel精英培训网

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

[已解决]选取多个单元格

[复制链接]
发表于 2011-5-15 20:33 | 显示全部楼层 |阅读模式
5学分
本帖最后由 xdwy 于 2011-5-15 22:09 编辑

如题,如果B列的单元格后3位等于“Dxx”,选取同行的C列。
select选取,希望用最快的方法。

谢谢了

选取.rar (26.55 KB, 下载次数: 27)

最佳答案

查看完整内容

我想了想,这个问题用application的union方法可能比较适合,先通过单元格循环,找到符合条件的单元格,然后用union方法联合在一起,然后整体选择; 具体代码如下: 附加如下: 为了方便,我把代码写在Sheet1中啦,呵呵。
发表于 2011-5-15 20:33 | 显示全部楼层    本楼为最佳答案   
本帖最后由 wbzxz 于 2011-5-15 22:28 编辑

我想了想,这个问题用application的union方法可能比较适合,先通过单元格循环,找到符合条件的单元格,然后用union方法联合在一起,然后整体选择;
具体代码如下:


  1. Sub test()
  2.   Dim i As Integer '循环计数器
  3.   Dim rngEnd As Range '存放选中的单元格
  4.   For i = 3 To 141 '因为不知道你的实际数据,所以这里用了死代码,从第3行到141行;
  5.     If Right(Cells(i, 2), 3) = "Dxx" Then 'right函数取后三位进行判断,是否等于"Dxx"
  6.       If rngEnd Is Nothing Then '因为用union方法的时候,第一次使用,必须保证union的参数是存在的,所以需要先给rngEnd赋值;
  7.         Set rngEnd = Cells(i, 3)
  8.       Else
  9.         Set rngEnd = Union(rngEnd, Cells(i, 3)) '不停的用union方法进行单元格的联合
  10.       End If
  11.     End If
  12.   Next i
  13.   rngEnd.Select '选中联合在一起的单元格
  14. End Sub
复制代码

附加如下:

11.rar (26.55 KB, 下载次数: 6)

26.55 KB, 下载次数: 0

评分

参与人数 1 +12 收起 理由
xdwy + 12 很好的学习代码,而且还注释,十分之感谢

查看全部评分

回复

使用道具 举报

发表于 2011-5-15 21:41 | 显示全部楼层
用筛选,包含"Dxx“
定位可见单元格
回复

使用道具 举报

发表于 2011-5-15 22:04 | 显示全部楼层
如果B列的单元格前3位等于“Dxx”

到底是后三位还是前三位,前三位根本就没有啊。
回复

使用道具 举报

 楼主| 发表于 2011-5-15 22:09 | 显示全部楼层
wbzxz 发表于 2011-5-15 22:04
如果B列的单元格前3位等于“Dxx”

到底是后三位还是前三位,前三位根本就没有啊。

谢谢提醒,是后三位,请教了,谢谢
回复

使用道具 举报

 楼主| 发表于 2011-5-15 22:14 | 显示全部楼层
回复 cjainwei 的帖子

需要用vba解决了,不要筛选,而是选中符合条件的单元格右移动1列
回复

使用道具 举报

 楼主| 发表于 2011-5-15 22:30 | 显示全部楼层
回复 wbzxz 的帖子

代码很精彩

请教一个知识点问题union方法可极限的选取多少个单元格呢??

非常非常的感谢
回复

使用道具 举报

发表于 2011-5-15 22:37 | 显示全部楼层
不好意思,这个我没有实验过,呵呵,你可以试一试,试完了告诉我一声。
不过我估计很大的,嘿嘿。

点评

很谢谢你  发表于 2011-5-15 22:38
回复

使用道具 举报

发表于 2011-5-16 00:12 | 显示全部楼层
  1. Sub t()
  2. Dim d
  3. Set d = CreateObject("scripting.dictionary")
  4. For i = 3 To [b65536].End(xlUp).Row
  5.     If InStr(Cells(i, 2), "Dxx") Then d(Cells(i, 3).Address) = ""
  6. Next
  7. Range(Join(d.keys, ",")).Select
  8. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-5-16 00:56 | 显示全部楼层
回复 cjainwei 的帖子

测试失败的,提示如下,盼求教

未命名.JPG
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 10:55 , Processed in 0.277603 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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