Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. @Scofieldgyn Veja se assim resolve, Dim Valor As String Private Sub Worksheet_SelectionChange(ByVal Target As Range) Valor = ActiveCell.Formula End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([E:E], Target) Is Nothing Then If Selection.Cells.Count > 1 Then GoTo INVALIDA End If If Target.Offset(0, -1) = 0 Or Target.Offset(0, -2) = 0 Then INVALIDA: Application.EnableEvents = False Target.Formula = Valor Application.EnableEvents = True MsgBox "Operação inválida" End If End If End Sub
  2. @Scofieldgyn Nesse caso é a coluna D e não a E. Acho que não entendi o que quer fazer. Na coluna % tem uma fórmula, não vejo muito sentido permitir a digitação nessa coluna... É isso mesmo?
  3. Quando se refere a "determinado parâmetro" é o texto completo do assunto? Ou uma parte dele? Se for só o texto crie em outra aba as relações entre assunto e código. Aí é só aplicar a fórmula PROCV nessa que vai buscar os códigos de acordo com o valor do que é digitado na coluna do assunto.
  4. @Scofieldgyn A fórmula fica na coluna E?
  5. Acho mais fácil guardar o valor da célula e voltar com ele no caso da operação inválida, veja se assim resolve, Dim Valor As Variant Private Sub Worksheet_SelectionChange(ByVal Target As Range) Valor = ActiveCell End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([E:E], Target) Is Nothing Then If Selection.Cells.Count > 1 Then GoTo INVALIDA End If If Target.Offset(0, -1) = 0 Or Target.Offset(0, -2) = 0 Then INVALIDA: Application.EnableEvents = False Target = Valor Application.EnableEvents = True MsgBox "Operação inválida" End If End If End Sub
  6. Isso não é formatação. O que quer fazer é preencher as colunas seguintes automaticamente. É possível fazer literalmente como comentou, mas qual é o critério para as outras linhas? Entendo que queira automatizar isso. Tem algum critério ou base de dados com a relação entre o assunto e o código? Se não tiver terá que criar manualmente para depois buscar com alguma fórmula como PROCV ou macro.
  7. Não funciona de que forma? Dá alguma mensagem de erro? O problema vai ser colocar o login e senha. No VBA não tem um recurso nativo, mas para contornar isso talvez sendkeys resolva já que essa função simula a digitação.
  8. Na coluna das parcelas outra forma seria, =SE(SOMA($N5:N5)<$K5;$K5/$M5;0) Essa vai em O5 e depois é só arrastar para as outras células. Assim é simples até acrescentar mais colunas de parcelas se for necessário.
  9. @brunaky Se for em C++ mesmo pode usar containers como vector, mas se for C entendo que deva usar uma estrutura de dados como a lista (se já viu isso no curso) com os recursos pedidos no enunciado. De qualquer forma comece o trabalho e a medida que tenha dúvidas específicas volte com o código para conseguir ajuda.
  10. Faça o loop para armazenar o valor no vetor e efetue o cálculo como pedido. Qual é a dúvida? Já tem um código?
  11. @Gesiane Diniz Veja se com macro resolve, Copie o código e abra o editor do VBA com Alt+F11 > duplo clique em Sheet1 e cole. Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([C2:C5], Target) Is Nothing Then If Target = "Closed" Or Target = "Resolved" Then Target.Offset(0, -1) = Target End If End If End Sub
  12. Esses recursos ainda não estão disponíveis, mas se aplicar a formatação condicional no desktop funciona no mobile.
  13. Então não entendi porque o procv não resolve... O que quer dizer com "só me retorna o primeiro valor" se na planilha2 não tem repetição?
  14. Com macro é possível fazer, mas na planilha2 pode ter cpf repetido? No exemplo que postou isso só acontece na planilha1.
  15. Procv só retorna um valor. Uma alternativa para retornar mais de um cargo no mesmo CPF é escrever os cargos na mesma célula.
  16. @Leucosia Não precisa copiar os nomes para outras strings. Já que está usando vetores é só guardar o indice deles, p.ex, int idmaisvelha = 0; int idmaisnova = 0; int velha; int nova; Guarde os indices no loop, if(i == 0){ nova = velha = totalIdade; }else{ if(totalIdade > velha){ idmaisvelha = i; velha = totalIdade; }else if(totalIdade < nova){ idmaisnova = i; nova = totalIdade; } } E mostre os nomes com o id, printf( "%s é a pessoa mais velha.\n %s é a pessoa mais nova.\n", dados[idmaisvelha].nome, dados[idmaisnova].nome );
  17. @Gustavo1313 A fórmula da coluna V não está só subtraindo. Antes faz a multiplicação da coluna U por V. Talvez não tenha notado isso nos outros casos porque só estava multiplicando por 1...
  18. @nagatonie Seu código tem muitos erros de compilação, veja as mensagens do seu compilador. O operador & no parâmetro da função é um recurso do C++, não do C. E para passar uma matriz como argumento a sua função de deve ter pelo menos o tamanho da segunda dimenssão. Outra forma de trabalhar com isso é declarar o argumento como ponteiro de pointeiro (int **matriz). Sem funções como você estava fazendo antes fica mais simples. Um exemplo com os dados do enunciado (8 - 1 é para ficar claro que é o tamanho do vetor - 1), veja se ajuda no seu desenvolvimento, #include <stdio.h> int main(void){ int matriz[4][4] = { {0, 1, 8, 3}, {5, 0, 1, 400}, {2, 7, 0, 8}, {7, 1, 2, 0} }; int pos[8] = {0, 3, 1, 3, 2, 1, 0, 2}; int total = 0; for(int i = 0; i < 8 - 1; i += 1){ total += matriz[pos[i]][pos[i + 1]]; } printf("%d\n", total); return 0; }
  19. K é referente a posição dos quilômetros na matriz. Por isso você deve informar no mínimo dois números que devem ser tratados em par com a linha e a coluna. Além disso tem que ser menores que n que é o limite da matriz. No exemplo do enunciado (Trajeto = 0 3 1 3 2 1 0 2) está pegando estas posições na matriz: (0,3), (3,1), (1,3), etc.
  20. @tiagojuliano Use a fórmula CONT.SE para contar os valores menores ou maiores que dois. Faça pegar sempre do primeiro range até a linha atual. Use também SOMASE para calcular a diferença com CONT.SE e recomeçar a contagem para cada bloco.
  21. Nos dois parâmetros da função strcpy é esperado um ponteiro char referente a string (vetor de char terminado em nulo). Porém em um dos parâmentros você só está passando um char (maisvelha e maisnova). Para copiar o conteúdo, declare a string com o tamanho necessário para receber a outra e não apenas um char como fez nas variáveis maisvelha e maisnova.
  22. Essa expressão não é válida. Com esses parênteses parece que está tentando tratar um número como se fosse uma função... E em C o operador ^ é o Xor, então não serve para elevar um número. Se quer calcular o quadrado você pode multiplicar duas vezes ou usar a função pow. Você pode criar a função para calcular a equação com o parâmetro x. E dentro do loop passar para a função o intervalo [a, b] para calcular a média e pegar o menor e maior valor.
  23. @Tom BR Modifiquei a fórmula para não ficar tão grande. Assim em vez de repetir a fórmula em cada critério OU, coloquei tudo entre chaves, p.ex, PROCURAR({"OK* -";"OK*? -";"#* -";"#*? -"};A25) Crédito para o @osvaldomp, vi que ele fez isso na fórmula que postou no outro fórum com LOCALIZAR e usei esse método na PROCURAR. Veja se assim resolve, =SE(E(ÉERROS(PROCURAR("*";A25)); OU(NÃO(ÉERROS(PROCURAR({"OK -";"OK? -";"# -";"#? -"};A25)))));"Não";SE(OU(NÃO(ÉERROS(PROCURAR({"OK* -";"OK*? -";"#* -";"#*? -"};A25))));"Sim";"Erro"))
  24. Por isso usei a fórmula PROCURAR que desconsidera os caracteres curinga como o asterisco. @Tom BR Vi que a fórmula que postei retornou incorretamente "Sim" nas duas primeiras linhas porque o "ok" na fórmula PROCURAR está minúsculo. Isso foi por causa do fórum que deixou todo o meu comentário em letras minúsculas. Tente editar a fórmula para o "OK" ficar maiúsculo como está na célula da sua planilha.
  25. Aqui as duas primeiras deu "Sim", mas na sua tabela está mostrando "Erro". Achei que esse era o resultado esperado nesses casos.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!