发布网友 发布时间:2022-04-22 22:15
共1个回答
热心网友 时间:2023-07-02 00:38
没有看见你的表格图,我理解大概每个乡镇一个表,全部都需要进行上面的处理,对吧。这个是可以写在一起的,首先不用每个镇定义一个变量,例如你的xlsheet_ibi_qintangguzhang、xlsheet_ibi_shikaguzhang等,而是使用一个xl的变量分别等于这些表,然后对xl变量的表做统一的操作,如果这些乡镇表格在一个工作簿里面,工作表名称分别是XX镇、XX镇故障,那么可以这样写代码:
Dim xl as worksheet, bug as worksheet, t
for each t in array("秦唐","石咔")'所有的单位按照这个样子一次列出来
set xl=sheets(t & "镇")
set bug=sheets(t & "镇故障")
'下面的代码粘贴来自秦唐镇(帖子第一段)
bug.Activate
'删除行
If bug.UsedRange.Rows.Count > 1 Then
bug.Rows(2 & ":" & bug.UsedRange.Rows.Count).Delete
xlsheet_ibi_qintang.Activate
'故障数据处理
hang =1 '故障表已经使用的行数
If xl.UsedRange.Rows.Count > 1 Then
For i = 2 To xl.UsedRange.Rows.Count
If InStr(1, xl.Cells(i, 7), "未知新增") > 0 Or InStr(1, xl.Cells(i, 9), "是") > 0 Then
hang = hang + 1
xl.Cells(i, 2).resize(1,6).copy bug.Cells(hang, j)
If InStr(1, bug.Cells(hang, 7), "未知新增") > 0 Then
bug.Rows(hang).Font.Color = RGB(255, 0, 0) '标明红颜色
End If
End If
Next
End If
next t