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