簡體   English   中英

如何在VBA中的多個工作表中選擇相同的范圍?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM