Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Erro de compilação: End If sem bloco If - Resolvido

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
MrcFz
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Sex Mar 11, 2022 8:01 pm

Erro de compilação: End If sem bloco If - Resolvido

Mensagem por MrcFz »

Olá,
Sou novato em VBA, uso o Excel 2010, numa macro que estou desenvolvendo, tenho a Sub Encaixe() que faz o encaixe numa planilha agenda.
Para inserir esse encaixe tenho que testar a reserva atual e validar se essa reserva contem uma série de palavras chave que não permitiriam o encaixe, para isso escrevi o código a seguir:

If ActiveCell = ("Descanso" Or "Dia" Or "Médico" Or "Visita" Or "Pessoal" Then GoTo Inicio Else
If ActiveCell = ("Projeto") Then
ActiveCell.Select
Selection.Cut
ActiveCell.Range("CCelula").Select
ActiveSheet.Paste
ActiveCell.Range("CCelula").Select
Selection.Copy
ActiveCell.Range("CCelula").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Else GoTo Inicio
End If
End If


Não consigo achar ou entender o que está errado, agradeço a ajuda,
Mrc
Editado pela última vez por MrcFz em Qua Mai 11, 2022 7:33 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Erro de compilação: End If sem bloco If

Mensagem por webmaster »

Não faço ideia de como isso esteja funcionando, mas acho que está faltando um "fecha parênteses" antes do primeiro Then. Aqui o código corrigido (sem testes obviamente):

Código: Selecionar todos

If ActiveCell = ("Descanso" Or "Dia" Or "Médico" Or "Visita" Or "Pessoal") Then 
	GoTo Inicio 
Else
	If ActiveCell = ("Projeto") Then
		ActiveCell.Select
		Selection.Cut
		ActiveCell.Range("CCelula").Select
		ActiveSheet.Paste
		ActiveCell.Range("CCelula").Select
		Selection.Copy
		ActiveCell.Range("CCelula").Select
		Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
		SkipBlanks:=False, Transpose:=False
		Application.CutCopyMode = False
	Else 
		GoTo Inicio
	End If
End If


Responder