Encontrei alguns erros pequenos, mas cruciais no código.
- Em "CreateNewSheet",
Sheetprecisava serSheetsA planilha não estava referenciando nada, daí o erro "Objeto obrigatório" - Ao selecionar o novo intervalo para colar, eu usei por engano
+em vez de&Yielding my type mismatch. Nota: Então eu percebi uma vez que eu poderia executar o meu código que eu estava copiando-os para sua linha original, bastante irritante, Corrigido, copiando para a mesma linha.
Eu postei meu código alterado abaixo.
Sub TestRowThree()
Dim row As Integer
row = 3
CopyRow (row)
End Sub
Sub CreateNewSheet(strName As String)
Sheets.Add.Name = strName
End Sub
Sub CopyRow(rowNum As Integer)
Dim mainSheetName As String
mainSheetName = ActiveWorkbook.ActiveSheet.Name
Dim newSheetName As String
newSheetName = Sheets(mainSheetName).Range("$A$" & rowNum).Value
Sheets(mainSheetName).Select
Range("A" & rowNum & ":H" & rowNum).Copy
CreateNewSheet (newSheetName)
Sheets(newSheetName).Select
Range("A1:H1").Select
ActiveSheet.Paste
End Sub