ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何利用vba代码多表根据特征标识指定数据区?

如何利用vba代码多表根据特征标识指定数据区?

作者:绿色风 分类: 时间:2022-08-17 浏览:122
楼主
kevinchengcw
Q: 如何利用vba代码多表根据特征标识指定数据区?
A: 代码如下:
  1. Sub test()
  2. Dim Ws As Worksheet, RngS As Range, Rng As Range, R As Range
  3. For Each Ws In Worksheets   '循环各个工作表
  4.     If Ws.Name Like "太旗*" Then   '如果表名是以太旗开头的则进行标识操作
  5.         With Ws
  6.             Set RngS = .Cells.Find("风速", lookat:=xlWhole)  '查找指定的表头单元格
  7.             If Not RngS Is Nothing Then   '如果找到,则
  8.                 Set Rng = RngS  '将当前找到的(即第一个位置)赋值给循环变量
  9.                 Do
  10.                     For Each R In .Range(Rng.Offset(1), .Cells(.Rows.Count, Rng.Column).End(3))   '循环对应数据区
  11.                         If R.Value > 3 And R.Offset(, 1).Value = 0 Then   '根据要求进行数据标识(添加单元格底色)
  12.                             R.Resize(, 2).Interior.Color = vbYellow
  13.                         ElseIf R.Value = 0 And R.Offset(, 1).Value = 0 Then
  14.                             R.Resize(, 2).Interior.Color = vbRed
  15.                         End If
  16.                     Next R
  17.                     Set Rng = .Cells.FindNext(Rng)  '查找到当前表头后面的下一个表头
  18.                 Loop While Rng.Address <> RngS.Address   '如果不与第一个表头位置相同(即未循环完一周)
  19.             End If
  20.         End With
  21.     End If
  22. Next Ws
  23. End Sub
对于找出的数据,可以依要求进行标示或提取进数组中再转置到结果表中。
详见附件及素材源帖。
电量上报8.10格式.rar
2楼
亡者天下
过来学习一下

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap