Я новичок в VBA Coding, но сумел пробиться.
Я нашел это и изменил в соответствии с моими требованиями, но я хочу указать диапазон столбцов для копирования от A до Q.
Любая помощь будет оценена.
Sub SplitData_ToPLCSheets()
'Split KEPServerCombined Column r into Separate Sheets ready for Export (PLC Name)
Const NameCol = "R"
Const HeaderRow = 1
Const FirstRow = 2
Dim SrcSheet As Worksheet
Dim TrgSheet As Worksheet
Dim SrcRow As Long
Dim LastRow As Long
Dim TrgRow As Long
Dim PLC As String
Excel_Tools.TurnEverythingOff ' Turn off Calc , Screen Updating and `enter code here`Calcs
Set SrcSheet = ThisWorkbook.Sheets("KEPServerCombined")
'Set SrcSheet = ActiveSheet
LastRow = SrcSheet.Cells(SrcSheet.Rows.Count, NameCol).End(xlUp).row
For SrcRow = FirstRow To LastRow
PLC = SrcSheet.Cells(SrcRow, NameCol).value
Set TrgSheet = Nothing
On Error Resume Next
Set TrgSheet = Worksheets(PLC)
On Error GoTo 0
If TrgSheet Is Nothing Then
Set TrgSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
TrgSheet.name = PLC
SrcSheet.Rows(HeaderRow).Copy Destination:=TrgSheet.Rows(HeaderRow)
End If
TrgRow = TrgSheet.Cells(TrgSheet.Rows.Count, NameCol).End(xlUp).row + 1
SrcSheet.Rows(SrcRow).Copy Destination:=TrgSheet.Rows(TrgRow)
Next SrcRow
Excel_Tools.TurnEverythingOn ' Turn on Calc , Screen Updating and Calcs
End Sub