Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    840
  • Cadastrado em

  • Última visita

Tudo que Edson Luiz Branco postou

  1. Bem vindo, @BRUNO_H_S_L . De fato, o evento Change não é disparado por alterações de valores provenientes de fórmulas ou de código. O único evento sensível a alterações desse tipo é o Calculate mesmo. Só que infelizmente este último não reconhece quais células da planilha sofreram recálculo, ou seja, não existe o parâmetro Target. Pra você saber quais células foram só se guardar o valor do antes e comparar com o do depois da(s) célula(s) de interesse numa variável global a qual manterá seu valor entre chamadas ao código, aí é só comparar se o novo valor é diferente daquele salvo na variável. É uma trabalheira desnecessária se você já sabe que o valor será alterado lá no Userform. Portanto, o colega @André_Arruda tem toda a razão quando lhe sugeriu usar o botão do Userform e escrevi essa papagaiada toda só pra reforçar isso
  2. Bem vindo ao Clube do Hardware, @Luís Augusto Pazini ! Uma sugestão de fórmula seria: =HIPERLINK("#"&ENDEREÇO(CORRESP(MÍNIMO(SE(ÉNÚM(B:B);ABS(HOJE()-B:B);""));SE(ÉNÚM(B:B);ABS(HOJE()-B:B);"");0);2;4;1);"Ir para Hoje") é matricial, portanto finalize com Ctrl + Shift + Enter Entretanto, sugiro não referir-se à coluna inteira B:B pois a função ENDEREÇO é uma função volátil e vai prejudicar a performance de seus cálculos. Se você puder encolher seu intervalo, fica bem mais rápido. Digamos B4:B1000: =HIPERLINK("#"&ENDEREÇO(LIN(B4)-1+CORRESP(MÍNIMO(SE(ÉNÚM(B4:B1000);ABS(HOJE()-B4:B1000);""));SE(ÉNÚM(B4:B1000);ABS(HOJE()-B4:B1000);"");0);2;4;1);"Ir para Hoje") Também é matricial, idem sobre a forma de inserir a fórmula.
  3. Procure evitar usar o ^13 na caixa Substituir Por. Use sempre o ^p. Ele pode livremente ser usado na caixa Localizar (é até necessário se estiver marcado Usar Caracteres Coringa), mas pode causar alguns efeitos colaterais bem estranhos se usados como caractere de substituição, embora sejam quase equivalentes. Veja, por exemplo, o que diz um dos grandes MVP's especialista em Word (Graham Mayor) no artigo Finding and replacing characters using wildcards: "If you use ^13 in a replace string, invalid characters, that look like paragraph marks but aren't, will be inserted – so beware!"
  4. Boa noite, @Simon Viegas É o ^l (Circunflexo + L minúsculo) e substituir por ^p como você já sabe.
  5. @Wellington G. Andrade Serrano , bom dia. Faça um teste com o arquivo anexo: Dúvida Wellington Serrano CdoHardware.zip
  6. Seja bem vindo, @Braga Samuel Na verdade todos os seus códigos contêm o mesmo erro na mesma linha. Vamos analisar uma delas, aí é só corrigir igualmente para todas. Tomemos como exemplo a Sub LocalizaPrimeiroFaturar(): For Each I In wshVenc.Range("W8:W" & wshVenc.Range("A65536").End(xlUp).Row) Sua intenção com o trecho em negrito é buscar a última célula preenchida para limitar a busca, correto? No entanto, você dá como referência a coluna A, que está vazia, então a expressão em negrito, Range("A65536").End(xlUp).Row vai retornar 1 (linha 1) e a expressão toda irá se referir portanto ao range Range("W8:W1"). Quando você "coloca a carroça na frente dos bois" dessa forma, o Excel automaticamente corrige para Range("W1:W8") que será o intervalo de pesquisa, intervalo que obviamente não lhe interessa. Então, para corrigir isso e incluir todas as linhas da tabela, use a mesma coluna como referência: For Each I In wshVenc.Range("W8:W" & wshVenc.Range("W65536").End(xlUp).Row)
  7. @wagros bom dia Talvez o pessoal do fórum de redes possa te ajudar... Tente postar sua dúvida por lá, quem sabe...
  8. Selecione a coluna toda da sua tabela e formate como texto (guia Início > Grupo Número, em vez de Geral, escolha Texto)
  9. Qual a mensagem de erro? O que há na célula N1 da planilha "MEMORANDO"? A planilha que tem o valor em N1 é a MEMORANDO mesmo? O arquivo já não existe? Se existir, deletar o anterior primeiro.
  10. Dá uma olhada. Obs.: pra colocar numa célula só as 7 colunas terá sempre esse problema de alinhamento pois mesmo se quiséssemos considerar a quantidade de caracteres de uma linha para alinhar com a outra, ainda sim a largura de um caractere (i, por exemplo) é diferente de outros (W, por exemplo). O ideal seria um caractere de tabulação, mas aí o Excel engole (transforma em espaço em branco). Só mesmo numa string ou num arquivo txt ou numa caixa de texto. AJUDAME2.zip
  11. Tá quase, @ViniciusNunesT ... Ainda estou no trabalho... o problema é só o tempo e o cansaço... mas não esqueci do teu problema não, ok?
  12. Sim, mas só posso fazer nas horas de folga e como veio o fds... hj à noite posso continuar. A propósito, se ao invés de inserir os valores numa célula eles fossem inseridos numa caixa de texto ou num arquivo txt o layout ficaria melhor, mais parecido com uma tabela, porque daria pra separar os campos com caracteres de tabulação, os quais são impossíveis de serem inseridos em uma célula.
  13. Bem vindo, @Paulo Giovani X Selecione a célula F2 Na guia Inicio > Formatação Condicional > Nova Regra > selecione "Usar fórmula para determinar quais células devem ser formatadas" Na caixa "Formatar valores em que esta fórmula é Verdadeira", copie e cole: =E(F2<>"";OU((F2-INT(F2))<TEMPO(5;0;0);(F2-INT(F2))>TEMPO(22;0;0))) Mais abaixo, clique no botão Formatar Na guia Preenchimento escolha o padrão de cores que deseja A célula F2 já está com a formatação condicional desejada. Para expandir para as outras células da coluna, pode usar a ferramenta pincel ou clicar em Formatação Condicional> Gerenciar Regras > em Aplica-se a digite o intervalo em que a regra agirá. texte.xlsx
  14. Realmente não continuei por que fiquei confuso, não compreendi completamente sua demanda pois no primeiro post você mostra um código "para as celulas mascladas voltarem a ser linhas comuns" e no último post quando você diz "preciso que aquelas linhas fiquem assim" a imagem mostra até mais intervalos mesclados do que no original. Também não consegui correlacionar com o trecho que mostra como ficaria a mala direta. O ideal seria você anexar um arquivo (preenchido manualmente) contendo exatamente como você necessita a saída final de seus valores para a amostra dos dados preenchidos.
  15. Boa noite, @Angelo Campos Sugiro que, ao invés de inserir um hiperlink para cada célula, use a função HIPERLINK passando o nome do utilizador da coluna C como argumento da função, já que os nomes das planilhas (folhas) são correspondentes. Para o argumento "nome_amigável" use o mesmo caractere "â" da fonte Wingdings3 que você já vinha usando na formatação da célula - aliás uma boa ideia essa sua, evitando usar figuras. Um exemplo de como ficaria a fórmula (em A2): =HIPERLINK("#'" & C2 &"'!B2";"â") Aí é só copiar arrastando a fórmula para baixo. Anexo: Problema.xlsx
  16. Não entendi muito bem... você quer colocar cada grupo de linhas referente a cada ID numa String? Se sim, como você separaria as colunas? com um caractere de tabulação, vírgula ou ponto-e-vírgula? E as linhas com um caractere de retorno de carro e alimentação de linha (vbCrLf)? Ou faria um arquivo semelhante a um arquivo csv?
  17. O problema foi que, como você não inseriu nenhum exemplo no arquivo de situações em que houvesse entradas totalmente após o expediente, fiz a suposição de que elas não eram permitidas (aliás, você economizou mesmo nos exemplos no primeiro arquivo, só 1! rsrsrsr) Seu novo exemplo deixou mais claro, porém você considerou 2 situações como corretas mas que no meu entender também não estariam: Sendo dia 13 uma sexta, o expediente inicia-se às 08:00. Porém amas as solicitações ocorreram antes do expediente - 07:50 e 07:54 - (totalmente entre um expediente e outro). Meu entendimento seria que ambas teriam que iniciar à partir das 08:00, portanto ambas teriam que ter o SLA 13/04/2018 10:00 não é mesmo? Não entendi qual critério você usou para considerar como correto. Bem, se meu raciocínio estiver correto, veja as alterações no anexo: Calculo SLA Horas (2).xlsx
  18. Seja bem vinda, @Cristina Brito Insira em sua célula B2 a fórmula abaixo (ou baixe o anexo) e nos dê retorno: =IF((A2+2/24)>(INT(A2)+CHOOSE(WEEKDAY(A2),900,1320,1320,1320,1320,1320,1068)/(60*24)),A2+(2+CHOOSE(WEEKDAY(A2),17,10,10,10,10,10,16.2))/24,A2+2/24) Calculo SLA Horas.xlsx
  19. Bom dia, @Luis Carlos Zambo Não entendi muito bem sua questão. você quer comparar arquivos com nomes parecidos que estão em caminhos diferentes? É isso? Seria algo como eliminar arquivos duplicados? São arquivos Excel? você quer comparar nomes de arquivo ou o conteúdo dos arquivos (ou ambos)? Se não for nada disso, você quer comparar o nome do arquivo com o que? Um texto que está numa célula? Ora você fala em "copiar o conteúdo e jogar num arquivo novo", ora em "juntar"/"unir arquivos"... não ficou claro como você quer fazer isso. O ideal é você anexar aqui modelos compactados (removendo informações sensíveis) que mostrem exatamente o que você quer.
  20. Na coluna G você inseriria os dados manualmente?
  21. Daria também pra fazer só com uma macro geral, ao invés de uma pra cada botão. Usando a propriedade Application.Caller dá pra saber qual botão foi clicado e em qual célula ele está, aí é só usar o Offset pra acrescentar o valor +1 à célula vizinha ao botão. Mas como a solução proposta já atendeu, isso é o que importa...
  22. @Vinicius Passsos , bom dia Tente alterar as linhas como abaixo: Public Sub InspectionPlan() 'para abrir o pit em word Set word = CreateObject("Word.application") word.Visible = True file_name = "PLANO DE INSPEÇÃO E TESTErev3.docx" Path = file_name Set PIT = word.documents.Open(Path) 'End Select new_path = Gen_codigo PIT.SaveAs Filename:=new_path PIT.Close End Sub

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!