Excel精英培训网

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

[已解决]删除表格里数据少的列

[复制链接]
发表于 2014-12-18 21:14 | 显示全部楼层 |阅读模式
请编写代码
          工作表1有4个表格(或者是更多个表格),如果表格中数据小于36行时,就删除此表数据。大于等于36行的表格数据保留。结果如工作表2。
最佳答案
2014-12-20 11:18
  1. Sub Macro1()
  2. Dim rng As Range, j&, l&, n&
  3. Sheets(2).Activate
  4. l = ActiveSheet.UsedRange.Columns.Count - 9 '列
  5. For j = 1 To l Step 11
  6.     Set rng = Cells(1, j).Resize(1, 10).EntireColumn
  7.     n = rng.Find("*", searchdirection:=xlPrevious).Row
  8.     If n < 36 Then rng.ClearContents
  9. Next
  10. End Sub
复制代码

删除表格里数据少的列.rar

21.49 KB, 下载次数: 15

发表于 2014-12-19 06:30 | 显示全部楼层
  1. Sub Macro1()
  2. Dim rng As Range, j&, l&, n&
  3. l = ActiveSheet.UsedRange.Columns.Count - 9 '列
  4. For j = 1 To l Step 11
  5.     Set rng = Cells(1, j).Resize(1, 10).EntireColumn
  6.     n = rng.Find("*", searchdirection:=xlPrevious).Row
  7.     If n < 36 Then rng.ClearContents
  8. Next
  9. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-12-20 10:52 | 显示全部楼层
dsmch 发表于 2014-12-19 06:30

你好,
    把表格增多,放到工作表2时,有一个没有删除,请修改代码
谢谢

删除表格里数据少的列 请修改.rar

37.19 KB, 下载次数: 7

回复

使用道具 举报

发表于 2014-12-20 11:18 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2. Dim rng As Range, j&, l&, n&
  3. Sheets(2).Activate
  4. l = ActiveSheet.UsedRange.Columns.Count - 9 '列
  5. For j = 1 To l Step 11
  6.     Set rng = Cells(1, j).Resize(1, 10).EntireColumn
  7.     n = rng.Find("*", searchdirection:=xlPrevious).Row
  8.     If n < 36 Then rng.ClearContents
  9. Next
  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-12-22 15:40 | 显示全部楼层
dsmch 发表于 2014-12-20 11:18

你好,
下面代码中9是什么意思。谢谢!

  • l = ActiveSheet.UsedRange.Columns.Count - 9 '列

点评

最后一列往前移动9列,方便循环  发表于 2014-12-22 16:29
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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