Мой код ниже пытается создать лист для каждого значения ячейки в столбце D, а затем выполнить работу на каждом листе 1 за раз (т.е. вставить значения и запустить 2 формулы).Это приводит к ошибкам в команде selection.copy и activesheet.name.
Я ищу возможность создавать 1 рабочий лист за раз, запускать формулы на этом рабочем листе и повторять вместо добавления всех рабочих листов одновременно.и затем переименовываем их, используя значения ячеек в столбце D.
Я заранее извиняюсь за длину, я новичок в VBA, и большая часть этого кода получена с помощью функции записи.
Sub Macro2()
Dim x As Integer
NumRows = Range("D1", Range("D1").End(xlDown)).Rows.Count
Range("D1").Select
For x = 1 To NumRows
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Select
ActiveSheet.Name = Selection.Paste
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet1").Select
Range("H2:H5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets(Selection.Paste).Select
Range("A2").Select
ActiveSheet.Paste
Range("A5").Select
Application.CutCopyMode = False
Range("B6").Select
ActiveCell.FormulaR1C1 = "=BDH(R[-5]C[-1],R[-2]C[-1],R[-4]C[-1],R[-3]C[-1],)"
Range("D6").Select
ActiveCell.FormulaR1C1 = "=BDH(R[-5]C[-3],R[-1]C[-3],R[-4]C[-3],R[-3]C[-3],)"
Range("D6").Select
Sheets(Selection.Paste).Select
Next
End Sub
Лист1
Заранее спасибо!