Excel精英培训网

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

[已解决]用VBA横着查找隐藏

[复制链接]
发表于 2013-7-9 10:55 | 显示全部楼层 |阅读模式
用VBA横着查找隐藏
我用end(etToLeft 向左)  这样没弄出来郁闷 请老师帮助
最佳答案
2013-7-9 15:59
If Cells(1, i) <> "我" or cells(1,i)<>"你"把or改成AND

横着查找并隐藏.rar

1.77 KB, 下载次数: 14

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-7-9 11:06 | 显示全部楼层
Sub 列()
Sheets(1).Select
m = Rows(1).Cells.Find("*", , , , , xlPrevious).Column
For i = 4 To m
If Cells(1, i) Like "*等*" Then Columns(i).ColumnWidth = 0
Next
End Sub
回复

使用道具 举报

发表于 2013-7-9 11:10 | 显示全部楼层
  1. Sub tt()
  2. Dim LCol As Long, cel As Range
  3. LCol = Cells(1, Columns.Count).End(xlToLeft).Column
  4. For Each cel In Range(Range("D1"), Cells(1, LCol))
  5.     If cel.Value <> "我" Then cel.EntireColumn.Hidden = True
  6. Next cel
  7. End Sub
复制代码
回复

使用道具 举报

发表于 2013-7-9 11:14 | 显示全部楼层
Sub 隐藏列()
    Dim s As String
   
    Dim i As Long
    Sheets("sheet1").Select
   
    With Sheets("sheet1")
    sh = .Range("dz1").End(xlToLeft).Column
    For i = 4 To sh
        If Sheets("sheet1").Cells(1, i) <> "我" Then
           .Columns(i).Hidden = True
        End If
    Next i
    End With
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-7-9 13:48 | 显示全部楼层
w2001pf 发表于 2013-7-9 11:14
Sub 隐藏列()
    Dim s As String
   

老师要是在显示一个 那怎么办呢 您这个只显示了一个 比如我要显示2个列(1个名字交我,一个名字叫你)  那怎么办呢
就显示这2列,而不是之前的1列
回复

使用道具 举报

 楼主| 发表于 2013-7-9 13:51 | 显示全部楼层
lyf7276 发表于 2013-7-9 11:06
Sub 列()
Sheets(1).Select
m = Rows(1).Cells.Find("*", , , , , xlPrevious).Column

谢谢老师的回答!
但是您这个很适用这个表
换个表就不好用了
因为列标题有可能是别的什么不一定都是*等*
因为列有200多列 没有文字规律的
回复

使用道具 举报

 楼主| 发表于 2013-7-9 13:51 | 显示全部楼层
adders 发表于 2013-7-9 11:10

老师要是在显示一个 那怎么办呢 您这个只显示了一个 比如我要显示2个列(1个名字交我,一个名字叫你)  那怎么办呢
就显示这2列,而不是之前的1列
回复

使用道具 举报

发表于 2013-7-9 14:30 | 显示全部楼层
Sub 列()
Sheets(1).Select
m = Rows(1).Cells.Find("*", , , , , xlPrevious).Column
For i = 4 To m
If Cells(1, i) <> "我" or cells(1,i)<>"你"   Then Columns(i).ColumnWidth = 0
Next
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-7-9 15:35 | 显示全部楼层
lyf7276 发表于 2013-7-9 14:30
Sub 列()
Sheets(1).Select
m = Rows(1).Cells.Find("*", , , , , xlPrevious).Column

老师不可以 复制你的代码全部隐藏了
回复

使用道具 举报

发表于 2013-7-9 15:59 | 显示全部楼层    本楼为最佳答案   
If Cells(1, i) <> "我" or cells(1,i)<>"你"把or改成AND
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 22:26 , Processed in 0.443649 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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