作者:绿色风
分类:
时间:2022-08-17
浏览:122
楼主 kevinchengcw |
Q: 如何利用vba代码多表根据特征标识指定数据区? A: 代码如下:
- Sub test()
- Dim Ws As Worksheet, RngS As Range, Rng As Range, R As Range
- For Each Ws In Worksheets '循环各个工作表
- If Ws.Name Like "太旗*" Then '如果表名是以太旗开头的则进行标识操作
- With Ws
- Set RngS = .Cells.Find("风速", lookat:=xlWhole) '查找指定的表头单元格
- If Not RngS Is Nothing Then '如果找到,则
- Set Rng = RngS '将当前找到的(即第一个位置)赋值给循环变量
- Do
- For Each R In .Range(Rng.Offset(1), .Cells(.Rows.Count, Rng.Column).End(3)) '循环对应数据区
- If R.Value > 3 And R.Offset(, 1).Value = 0 Then '根据要求进行数据标识(添加单元格底色)
- R.Resize(, 2).Interior.Color = vbYellow
- ElseIf R.Value = 0 And R.Offset(, 1).Value = 0 Then
- R.Resize(, 2).Interior.Color = vbRed
- End If
- Next R
- Set Rng = .Cells.FindNext(Rng) '查找到当前表头后面的下一个表头
- Loop While Rng.Address <> RngS.Address '如果不与第一个表头位置相同(即未循环完一周)
- End If
- End With
- End If
- Next Ws
- End Sub
对于找出的数据,可以依要求进行标示或提取进数组中再转置到结果表中。 详见附件及素材源帖。 电量上报8.10格式.rar |
2楼 亡者天下 |
过来学习一下 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一