用工作薄Open打开事件,能实现你的要求,不过你所说的三个工作同时运行宏那是不可能的.宏在3个工作表运行时终有个先后顺序吧.由于并不清楚你的工作薄中的工作表数目,如果只有3个,下面代码能够实现你的要求.按ALT+F11进入VBE窗口,在"工程资源管理器"窗口中双击"ThisWorkbook",在出现的代码编辑区复制粘贴以下代码.
Private Sub Workbook_Open()
Dim Sht As Worksheet, rng As Range
For Each Sht In Worksheets
For Each rng In Sht.Range("a1", Sht.[a65536].End(3))
rng(1, 2) = rng + 14
Next
Next
End Sub
如果工作薄中工作表数目为4 用以下代码:
Private Sub Workbook_Open()
Dim Sht As Worksheet, rng As Range
For Each Sht In Worksheets
If Sht.Name <> "工作表1" Then '此处工作表名称"工作表1"自己更改
For Each rng In Sht.Range("a1", Sht.[a65536].End(3))
rng(1, 2) = rng + 14
Next
End If
Next
End Sub
下面代码无论你有多少个工作表都能实现你的要求:
Private Sub Workbook_Open()
Dim Sht As Worksheet, rng As Range, Arr, i%
Arr = Array("日期一", "日期二", "日期三")
For i = 0 To UBound(Arr)
For Each Sht In Worksheets
If Sht.Name = Arr(i) Then
For Each rng In Sht.Range("a1", Sht.[a65536].End(3))
rng(1, 2) = rng + 14
Next
End If
Next
Next i
End Sub
温馨提示:答案为网友推荐,仅供参考