Ir ao conteúdo
  • Cadastre-se

osvaldomp

Membros VIP
  • Total de itens

    2.807
  • Registro em

  • Qualificações

    0%

Reputação

1.367

Sobre osvaldomp

Informações gerais

  • Cidade e Estado
    São Paulo - SP
  • Sexo
    Masculino
  1. Disponibilize o código inteiro.
  2. Ótimo, então. O seu teste mostrou a você que o problema de aparecer a mensagem indesejada sobre a falta de preenchimento foi resolvido. E sim, se os 12 campos forem preenchidos a macro roda! Para testar acrescente duas caixas de mensagem conforme em vermelho abaixo. Ou coloque-as em outras posições em que você desejar. Se os 12 campos estiverem preenchidos então as duas caixas serão exibidas, o que demonstra que o código é executado. No entanto, se ao menos um dos campos estiver vazio, então a caixa de alerta é mostrada e a execução é finalizada, e nesse caso as duas caixas de mensagem não serão exibidas. MsgBox "Existem dados obrigatórios não preenchidos. Verifique.", vbCritical, "Dados ausentes" Else MsgBox "Caixa 1" Application.ScreenUpdating = True MsgBox "Caixa 2" End If Agora, se o código roda mas não apresenta o resultado desejado, então é uma outra situação que nada tem a ver com o problema que você levantou ao abrir este tópico, e nesse caso você precisa revisar a construção da sua macro.
  3. Baixei o seu arquivo e vi que as alterações que você fez no código estão corretas. Os 12 campos estão preenchidos, cliquei no botão GRAVAR a mensagem não foi exibida. Em seguida, limpei um dos 12 campos, aí sim, aparece a mensagem e o código é interrompido. Ou seja, aqui está funcionando corretamente agora. Com você não funciona dessa forma ?
  4. Segue uma sugestão para verificar se os 11 campos pintados de cinza na planilha FORMULÁRIO ENTRADA DE MATERIAL estão preenchidos. substitua esta linha If qtde = 0 Then por esta If Application.CountA([C7], [C13:C24], [F5], [E15], [E18]) < 11 Then Com a substituição acima sugerida as linhas abaixo ficarão sem efeito e poderão ser excluídas. 'Dim qtde As Integer 'qtde = var.Range("B2").Value
  5. Experimente: na planilha do arquivo do post #12, cole uma cópia da fórmula matricial abaixo em AV5 e arraste para a direita =(SOMA(INDIRETO(ENDEREÇO(2;MAIOR(SE(INDIRETO(ENDEREÇO(2;COL()-45)):AU2;COL(INDIRETO(ENDEREÇO(2;COL()-45)):AU2));40);4)):AU2))/40 obs. por tratar-se de fórmula matricial, após colar a fórmula na célula aperte F2 e em seguida aperte juntas Ctrl+Shift+Enter e só depois arraste
  6. Ele escreveu no post #1 ~~~> "... fórmula ... para mostrar quantos Clientes tinham no Transporte, (Transporte é coluna A) o que mostrou a resposta correta de 28 clientes, ~~~> eu entendi que ele buscava a contagem das combinações A & B sem repetição, aí encontrou 28, que está correto) ... mas estou precisando de uma fórmula que conte os clientes de acordo com os Incoterms A, B e C"~~~> e agora ele quer saber a distribuição dos Incoterms A, B e C para as 28 combinações. Foi o que eu entendi. Mas posso estar equivocado.
  7. Considerando a contagem sem repetição nas colunas A, B e C, o total é de 28 registros. Para testar: 1. selecione A2:C98 / Copiar / cole em K1 / mantenha a seleção 2. Dados / Remover Duplicatas / deixe marcadas K, L e M / OK Sobram 28 registros. E aí, na coluna M, fica fácil contar os Incoterms A, B e C visualmente ou via CONT.SE() Para incluir os Incoterms no critério, cole a fórmula abaixo em F2 e arraste até H2, que resultam: A ~~~> 24 registros B ~~~> 3 registros C ~~~> 1 registros total ~~~> 28 registros =SOMARPRODUTO(1/CONT.SES($A2:$A98;$A2:$A98;$B2:$B98;$B2:$B98)*($C2:$C98=DIREITA(F1;1)))
  8. A origem do problema é que a variável qtde retorna sobre o preenchimento de campos da planilha FORMULÁRIO SAIDA DE MATERIAL e não da planilha FORMULÁRIO ENTRADA DE MATERIAL, por isso o código retorna a mensagem e interrompe a execução.
  9. Disponibilize novo arquivo com planilhas não protegidas.
  10. experimente: =se(direita(a2;5)=texto(direita(a2;5)+0;"hh:mm");"ok";"errado")
  11. Instale uma cópia do código abaixo no módulo da planilha formula, assim: 1. copie o código daqui 2. clique com o direito na guia daquela planilha e escolha 'Exibir Código' 3. cole o código na janela em branco que vai se abrir 4. feito! 'Alt+Q' para retornar para a planilha e testar Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [A1:L1,A5:B5]) Is Nothing Then Exit Sub [N1].FormulaLocal = WorksheetFunction.Concat(Range("A1:L1")) End Sub funcionamento - ao alterar manualmente o conteúdo de alguma célula em A1:L1 ou em A5:B5 o código irá lançar em N1 a fórmula resultante da concatenação. obs. em função das suas fórmulas em E1 e E5, a fórmula resultante da concatenação retornará sempre a expressão "tudo bem", ou seja, independente dos valores em A5 e B5, o resultado sempre será igual ... não entendi qual o seu objetivo
  12. Reforçando a sugestão do Mestre Edson: disponibilize o seu arquivo Excel com o código que passei instalado e explique com exatidão o que você quis dizer com "deu um erro de fim de instrução".
  13. Na planilha Mapa: 1. em C2 coloque uma cópia desta fórmula ~~~> =ESQUERDA(B2;6) / dê duplo clique no canto inferior direito de C2 para estender a fórmula pela coluna, mantenha a seleção 2. Ctrl+C / clique com o direito sobre B2 / Colar Especial / Valores / limpe C:C
  14. Sugestão: disponibilize diretamente aqui no fórum uma amostra do seu arquivo Excel, com botão para carregar o Form que está apresentando o problema e informe com exatidão quais os campos de preenchimento obrigatório. Esclareça o que você quer dizer com "Porém na planilha formulário entrada de materiais ..." Você se refere a uma planilha, a um UserForm ou ... ? Em qtde = var.Range("B2").Value, esclareça sobre a variável var, que não está declarada e nenhum objeto/valor está atribuído a ela no seu código. dicas: 1. para responder clique na caixa Responder, localizada abaixo da última postagem 2. ao publicar código aqui no fórum, selecione-o e clique no ícone <> localizado no menu da caixa de resposta

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

ebook grátis "Aprenda a ler resistores e capacitores", de Gabriel Torres

GRÁTIS! BAIXE AGORA MESMO!