/ Erro de tempo de execução do intervalo no Excel VBA - excel, vba, excel-vba

Erro de tempo de execução de intervalo no Excel VBA - excel, vba, excel-vba

Eu acredito que eu tenho tudo o resto descoberto, masa linha Definir newSheetName = sht.Range ("A1: A") não está extraindo nenhuma informação. Estou recebendo o erro em tempo de execução "1004": método "Range" do objeto "_Worksheet" falhou. o que estou perdendo?

O que estou tentando alcançar é que essa macroobserve o intervalo na planilha "ARK_E_TEXAS", que é de A1 a C23 ("ARK_E_TEXAS_LIST"). Se A1: A tiver dados, ele criará uma nova planilha e nomeará essa nova planilha com o nome da célula. Eu estou usando a linha Lastrow para saber quantas linhas descer e a função if para pular os espaços em branco.

Sub Create_ARK_E_TEXAS()
Dim sht As Worksheet
Dim newSheetName As Range
Dim dataRange As Range
Dim Lastrow As Long

Set sht = ThisWorkbook.Sheets("ARK_E_TEXAS")
Set newSheetName = sht.Range("A1:A")
Lastrow = sht.Range("ARK_E_TEXAS_LIST").Rows.Count
Set dataRange = sht.Range("A1:C" & Lastrow)

For Each newSheetName In dataRange
If newSheetName.Value <> "" Then
Sheets.Add After:=Sheets(Sheets.Count) "creates a new worksheet
Sheets(Sheets.Count).Name = newSheetName.Value " renames the new worksheet
End If
Next newSheetName
End Sub

Respostas:

-1 para resposta № 1

Ok, recebi minha resposta com a ajuda do @AlexWeber.

Sub Create_ARK_E_TEXAS()


Dim sht As Worksheet
Dim newSheetName As Range
Dim dataRange As Range
Dim Lastrow As Long

Set sht = ThisWorkbook.Sheets("ARK_E_TEXAS")
Lastrow = sht.Range("ARK_E_TEXAS_LIST").Rows.Count
Set newSheetName = sht.Range("A1:A" & Lastrow)
Set dataRange = sht.Range("A1:A" & Lastrow)

For Each newSheetName In dataRange
If newSheetName.Value <> "" Then
Sheets.Add After:=Sheets(Sheets.Count) "creates a new worksheet
Sheets(Sheets.Count).Name = newSheetName.Value " renames the new worksheet
End If
Next newSheetName
End Sub