Erro em script de planilha para importação de dados

Boa noite pessoal!

Estou tendo problemas com uma planilha que tem o objetivo de inserir dados de contas a pagar/receber (manualmente ou via Combo Box com lista suspensa na própria planilha) e depois exportá-lo para um arquivo txt que finalmente será importado em um sistema.

Tenho conhecimento básico em VBA e embora o código esteja possivelmente sujo, as macros estão funcionando corretamente (o objetivo principal do projeto está sendo atendido) com exceção da parte final do código.

Coloquei detalhado as dúvidas como comentário no código e conto com o conhecimento e apoio dos Srs. para me auxiliarem neste projeto.

Segue código:

Sub TempCombo_Change() '(ByVal Target As Range)

Dim rng As Range
Set rng = Range(“D6:D106”) 'Se colocar D:D vai até à última linha

For Each Row In rng.Rows

'(/abre dúvida)-------------------------------------------------------------------------------------

'   Inseri uma TempCombo na Sheet ("Planilha") e coloquei um atalho para chamar a macro lsChamarAutoPreencher()
'   O atalho é (Ctrl+A)

'   A intenção aqui é que nas células D6:D106 da Sheet ("Planilha") o usuário possa selecionar um Fornecedor
'   dentre os previamente cadastrados (ele pode fazer isso digitando o nome, ou buscando na TempCombo, acionando
'   a TempCombo através do atalho (Ctrl+A).

'   Se durante a digitação ou ao buscar na TempCombo o usuário não achar um fornecedor previamente cadastrado,
'   ele irá cadastrar um novo, digitando ou selecionando na TempCombo o valor "Z-NOVO FORNECEDOR"


'   Daí gostaria que ao digitar 'OU' selecionar na TempCombo o valor "Z-NOVO FORNECEDOR", o VBA executasse o código abaixo:

If Row.Value = “Z-NOVO FORNECEDOR” Or TempCombo.Value = “Z-NOVO FORNECEDOR” Then

Novo:

Dim novo_fornecedor As String

novo_fornecedor = InputBox("Digite o nome do novo FORNECEDOR conforme cadastrado no sistema", "Novo FORNECEDOR", "Digite aqui")

'   aqui gostaria de colocar uma validação na InputBox para aceitar só caracteres em MAÍSCULA e apresentar uma
'   MsgBox de erro, informando ao usuário para corrigir se ele digitar em minúscula

Sair = InputBox(“Está correto:?” & Chr(13) & _
novo_fornecedor, “Lembrete”, “Digite SIM se está conforme cadastrado no sistema.”)

If Sair = "SIM" Then
 
Application.ScreenUpdating = False
ActiveCell.Value = novo_fornecedor
ActiveCell.Copy

'   aqui peço ao VBA para copiar conteúdo digitado dentro da InputBox
'   e colar na Sheet ("Fornecedores") conforme continuação do código abaixo:


Application.Goto ActiveWorkbook.Sheets("Fornecedores").Range("A1")
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'   Ao copiar o conteúdo da ActiveCell da Sheet ("Planilha") e colar na primeira linha em branco
'   da coluna A, dentro Sheet ("Fornecedores") o VBA vai chamar a Macro1() daquela Sheet pois este
' código irá alterar o conteúdo da coluna A e a Macro1() vai reorganizar os dados em ordem alfabética


'   Meu maior problema com este código é que neste final, ocorrem três problemas:
'
'   1) A planilha fica em Loop, levando sempre para GoTo Novo, sendo que minha inteção era que o
'      código Goto Novo fosse acionado apenas se a InputBox Sair fosse diferente de "SIM"
'
'   2) O conteúdo digitado na InputBox novo_fornecedor é copiado corretamente para a Sheet ("Fornecedores") e o
'   código da macro1() daquela Sheet é executado corretamente, reordenando a coluna "A" da Sheet ("Fornecedores")
'   em ordem alfabética porém, este conteúdo que eu digito na InputBox novo_fornecedor da Sheet ("Planilha")
'   não está ficando gravado na célula ativa em que a InputBox novo_fornecedor está
'
'   3) Ao final do código, se todas as sentenças forem atendidas corretamente, gostaria que ao final do código
'   o VBA gravasse o conteúdo da InputBox novo_fornecedor na célula ativa e movesse o cursor para a primeira
'   célula à direita desta célula ativa (estando em branco ou não)

End If
Exit Sub

Else
GoTo Novo

End If

Next Row

'(/fecha dúvida)-------------------------------------------------------------------------------------

End Sub

<\code>

Boa noite, e seja bem vindo.
Vamos por partes.
Me parece que vc entende de VBA, vc tentou usar ucase nas entradas ?
If ucase(Sair) = “SIM” Then
Outra coisa se a pessoa digitar em minusculo o nome do fornecedor vc estará gravando em minusculo, é isto mesmo ? (não sei como esta os seus dados, por isso a pergunta)
Não estou vendo nada que faça um looping, a não ser o erro na entrada (Sim, sim…)
Me posicione que amanhã dou uma olhada no forum para ver sua resposta.
abs