Para encerrar o assunto...
Mesmo para os IF com testes lógicos podem existir alternativas e maneiras de simplificar as linhas de programa.
No meu caso que é simples, escolhi separar os IF,
inverti alguns testes para dar o resultado esperado
If Plan_Aq = Plan_Princ Then MsgBox "Por Favor NÃO faça isso Aqui!": Exit Sub
If mac1 = "" Then MsgBox "Favor inserir o setor de origem": Exit Sub
If Fixacopy = False And Para_2 = "" Then MsgBox "Por favor especifique setor de destino E/OU nova quantidade de Colunas": Exit Sub
If Quant <> "" And Quant < 3 Or Quant <> "" And Quant > 1000 Then MsgBox "Quantidade de Colunas impossível de processar": Exit Sub
Como só passa para a segunda se a primeira for atendida, não é necessário repetir teste que os testes de cima excluíram a possibilidade de acontecer.
Isso além de simplificar a macro ainda me possibilitou adicionar mensagens personalizadas para cada situação
é como um Se(E(E();OU();E();OU());execute;fim)
Mas não importando a necessidade ou a escolha,
O importante é treinar até assimilar o uso, e repensar para ver se não existe possibilidades melhores para oq se quer fazer.
Até mais e desculpe os maus entendidos.
Ainda tenho um longo caminhos com outros IF ´s, sem falar que mesmo esses já tem previsão de serem alterados para a inclusão de combobox com os nomes das planilhas e se possível dos setores "oq não tenho nem ideia de como fazer "
.
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 01/04/2014 8:45 am