簡體   English   中英

Excel VBA-將非相鄰范圍復制到另一個非相鄰范圍

[英]Excel VBA - Copying non-adjacent range to a different non-adjacent range

我希望遍歷數據循環並跨某些單元格從一張紙復制到另一張紙。 使用“ longhand”,我可以進行以下操作:

Sub Update()
Dim Template As Worksheet: Set Template = Worksheets("ImportTemplate")
Dim Master As Worksheet: Set Master = Worksheets("Master")
Dim a As Long, x As Long

With Master
For a = 2 To .Range("A" & Rows.Count).End(xlUp).Row
    Select Case .Range("A" & a).Value
        Case "S"
            x = Template.Range("A" & Rows.Count).End(xlUp).Row + 1
            Template.Range("A" & x).Value = .Range("E" & a).Value 'Site Details
            Template.Range("B" & x).Value = .Range("AO" & a).Value 'Meter Details
        Case "M"

        Case "C"

        Case Else
    End Select
Next a
.Select
End With
End Sub

有什么“更好”的方法嗎? 將有更多要更新的單元格,因此它不限於例如所示的2個單元格

您可以包括

' at the start
Dim priorCalculationSetting as Long

Application.ScreenUpdating = False
priorCalc = Application.Calculation
Application.Calculation = xlCalculationManual

...your code here...

' at the end
Application.ScreenUpdating = True
Application.Calculation = priorCalculationSetting

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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