过程演示
任务内容:
做钢结构资料的时候,如果碰到国外的单子,基本上都要做追溯表的。我们拿到设计给的零件清单数据后,是需要把相同的构件号合并。一个项目几千上万根构件基本跑不掉,一个一个去手动合并单元格[晕],我想再强壮的麒麟臂都扛不住吧。
解决方案:
利用excel自带的VBA编程来自动完成任务。
只需要一个简单的 For循环+ if判断语句,就可以轻松解放你的麒麟臂啦。
上代码:
starIndex = 4 '开始列-这个很重要
targetIndex = 2 '构件名称所在列
Set Sheet1 = ActiveWorkbook.ActiveSheet
index1 = 1
index2 = 1
endL = Sheet1.UsedRange.Rows.count '获取表的总行数
For Index = starIndex To endL '工作表构件列表循环
If temp = Sheet1.Cells(Index, targetIndex) Then'判断构件号是否相同
index2 = Index
Else'当构件号不一样的时候,合并已经判断相同的单元格
If index1 <> index2 Then
Sheet1.Range(Sheet1.Cells(index1, targetIndex), Sheet1.Cells(index2, targetIndex)).Merge '合并
End If
index1 = Index
index2 = Index
End If
temp = Sheet1.Cells(Index, targetIndex)
Next
'这里循环结束,在结尾也要做一个判断 否则最后一个不会合并
If index1 <> index2 Then
Sheet1.Range(Sheet1.Cells(index1, targetIndex), Sheet1.Cells(index2, targetIndex)).Merge '合并
End If
需要完整代码的,请在评论区留言。
有任何相关问题,欢迎来评论区交流[吐舌]。
作者介绍:专注办公自动化,让工作轻松起来