|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
目的:
在一个工作薄中所有表格中(可能有几十张表),如果表名中最右边的三个字符为输入的月份,那么这些中A列的日期中的月份数字要相应改成输入的月份。每张表A列数据长度不一样。 现在我通过以下代码可以实现功能(附件中方法1),但是如果需要处理的表数量多运行速度很慢,希望用数组来写代码,请问要怎么写(附件中方法2 提示下标越界,不知道哪里错了要改)?
Sub changemonth()
Dim sht As Worksheet, k%, newn As String
mytime = Timer
newn = InputBox("请输入月份") '为了演示此处输入月份 Jul
For Each sht In ThisWorkbook.Sheets
If Right(sht.Name, 3) = newn Then
For k = 3 To sht.Range("A260").End(xlUp).Row
If Left(sht.Cells(k, 1), 4) = 2018 Then sht.Cells(k, 1) = Year(Now()) & "/" & Month(newn & "-1") & "/" & Right(sht.Cells(k, 1), Len(sht.Cells(k, 1)) - 7)
Next k
End If
Next
MsgBox ("处理的时间为") & Timer - mytime & "テ・
End Sub
修改月份1.zip
(23.71 KB, 下载次数: 3)
|
|