|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 teshia 于 2018-4-16 23:04 编辑
有十家店,将工资表发过来,要汇总发给总公司
已经实行汇总功能但由于每个月表格人员均有变动,这个月是127行,下个月可能135行……
月份工资汇总表.rar
(158.33 KB, 下载次数: 24)
- Sub tt618()
- Dim MyPath$, MyName$, Arr, i%, j%, Brr, ws As Workbook
- MyPath = ThisWorkbook.Path & "\工资表"
- MyName = Dir(MyPath & "*.xls")
- Union([M3:Q127], [S3:V127], [X3:Y127], [AA3:AB127]).ClearContents
- ' Union([M3:Z127], [AA3:AB150]).ClearContents
- Arr = Range("M3:AB127")
- Application.ScreenUpdating = False
- Do While MyName <> ""
- If MyName <> ThisWorkbook.Name Then
- Set wb = GetObject(MyPath & MyName)
- On Error Resume Next
- If wb.Sheets(2).Name = "工资表" Then
- Brr = wb.Sheets("工资表").Range("M3:AB127")
- ' MsgBox wb.Sheets(2).Name
- For i = 1 To UBound(Brr)
- For j = 1 To UBound(Brr, 2)
- If Brr(i, j) <> "" Then
- ' If cstr(brr(i, j)) And brr(i, j) <> "" Then
- If Brr(i, j) = "" Then
- Arr(i, j) = Val(Brr(i, j))
- ElseIf IsNumeric(Brr(i, j)) Then
- Arr(i, j) = Val(Arr(i, j)) + Val(Brr(i, j))
- Else
- Arr(i, j) = CStr(Arr(i, j)) + CStr(Brr(i, j))
- End If
- End If
- Next
- Next
- wb.Close False
- End If
- End If
- MyName = Dir
- Loop
- Range("M3:AB127") = Arr
- Application.ScreenUpdating = True
- End Sub
复制代码
我每个月都要 替换一下行数
1、如何将127行,变成变量,在不知道保护密码的前提下
2、或者不用我这种方式,直接遍历读取值?
|
|