Один из способов сделать это - создать массив всех имен конечного листа, затем l oop этот массив выберет правильную группу из 3 совпадающих столбцов (т.е. начиная со столбцов 98, 101, 104 и т. Д.). на) из исходного листа. Кажется, что-то вроде этого работает:
Sub sCopyData()
Dim aDest() As Variant
Dim lngLoop As Long
Dim strLeft As String
Dim strRight As String
aDest = Array("Data1", "Data2")
For lngLoop = 0 To UBound(aDest)
Sheets("Results").Select
strLeft = Split(Cells(, 98 + (lngLoop * 3)).Address, "$")(1)
strRight = Split(Cells(, 100 + (lngLoop * 3)).Address, "$")(1)
Columns(strLeft & ":" & strRight).Select
Selection.Copy
Sheets(aDest(lngLoop)).Select
Columns("B:B").Select
ActiveSheet.Paste
Next lngLoop
End Sub
С уважением,