[英]How to select same Range in multiple sheets in VBA?
我有4張,例如...,
STP1
STP2
STP3
STP4
STP5
我想同時更新所有5張紙的所有D3單元格。
我正在嘗試這種方式..,
Worksheets(Array("STP1", "STP2", "STP3", "STP4", "STP5")).Select
Worksheets(Array("STP1", "STP2", "STP3", "STP4", "STP5")).Range("D3").Select
If Worksheets(Array("STP1", "STP2", "STP3", "STP4", "STP5").Range("D3").Offset(0, 0) = "" Then
Worksheets(Array("STP1", "STP2", "STP3", "STP4", "STP5")).Range("D3").Select.End(xlDown).Select
End If
ActiveCell.Offset(0, 0).Select
ActiveCell.Value = Eng
但這還沒有解決...任何人都可以在這里幫助我...
考慮:
Sub Macro1()
Sheets(Array("STP1", "STP2", "STP3", "STP4", "STP5")).Select
Sheets("STP1").Activate
Range("D3").Select
ActiveCell.Value = "whatever"
End Sub
(但我會使用一個循環並且沒有Selects
)
該代碼是否太長(在所有工作表中循環),是否使用了Select Case
,您可以在其中添加任意多的工作表。
(最好避免選擇單元格)
Option Explicit
Sub SelectSheets()
Dim Sht As Worksheet
For Each Sht In ThisWorkbook.Sheets
Select Case Sht.Name
Case "STP1", "STP2", "STP3", "STP4", "STP5"
If Sht.Range("D3") = "" Then
Sht.Range("D" & Sht.Cells(Sht.Rows.Count, "D").End(xlUp).Row).Value = Eng
Else
Sht.Range("D3").Value = Eng
End If
End Select
Next Sht
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.