Ir ao conteúdo
  • Cadastre-se

Midori

Membro Pleno
  • Posts

    3.565
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. @Nilton Cézar Só deve preceder a linha no código onde pode acontecer o erro, então pode ser antes ou depois das declarações do top do procedimento,
  2. @mcoumiotis Com Hiperlink na fórmula parece que independente da condição o excel entende que a célula deve ter um link. O que pode ser feito para tirar o erro é apontar para própria célula. =SE(B27="";HIPERLINK("#"&ENDEREÇO(LIN();COL());"Não há operações para os filtros selecionados");HIPERLINK("#A45";"Clique para ver o relatório de operações"))
  3. @mcoumiotis Com matricial o Hiperlink acaba retornando sempre a mesma condição e nesse caso é como se fosse um link em branco. Uma alternativa é deixar o mesmo link para todas as linhas e fazer a condição no argumento do nome. Aí para as demais linhas você pode passar um caractere em branco ou o código 13 carriage return de ASCII para não deixar um link nas linhas, p.ex, =HIPERLINK("#A1";SE(LIN(B4#)=CONT.VALORES(B:B)+1;"Voltar ao topo";CARACT(13)))
  4. Veja se assim resolve, =SE(DIA.DA.SEMANA(D7)<>3;"--x--";SE(E(DIA.DA.SEMANA(D7)=3;MOD(DIAS(D7;C7);2)=0);"SIM";"NÃO"))
  5. @mcoumiotis A fórmula pega o mês/ano até a linha 29, para deixar dinâmico você pode acrescentar uma fórmula para contar as linhas, =ÍNDICE(DESCRITIVO_DETALHADO!B:Z;CORRESP("Total F" &DIREITA(B$2;1)& " - "&ANO(B6:B29);DESCRITIVO_DETALHADO!$B:$B;0);MÊS(B6:B29)*2)
  6. @Jeff_Sandes Como tem mais de um valor ou referência para cada preenchimento você pode usar um array de arrays. Assim é só fazer um loop e ir pegando cada elemento, Sub Preenche() Dim Matriz As Variant Dim Elemento As Variant Matriz = Array( _ Array("0", [Z10:Z59]), _ Array("0", [A9:AX9]), _ Array("0", [AY1:AY59]), _ Array("0", [AZ9:BW9]), _ Array("00:00", [B7:B31]), _ Array("1", [BQ1:BT1]) _ ) For Each Elemento In Matriz Elemento(1).Cells(1).Value = Elemento(0) Call Elemento(1).Cells(1).AutoFill(Elemento(1), xlFillSeries) Next Elemento End Sub
  7. @mcoumiotis Para identificar a linha podemos usar alguma referência do fornecedor na planilha consolidado. Peguei o título da tabela onde tem o número do fornecedor e apliquei na busca com wildcard "Total Fn*" (n é o número). Se a planilha original tiver outro padrão, modifique Corresp, =ÍNDICE(TRANSPOR(INDIRETO("'DESCRITIVO DETALHADO'!C" &CORRESP("Total F"&DIREITA(B2;1)&"*";'DESCRITIVO DETALHADO'!B:B;0)& ":Z"&CORRESP("Total F"&DIREITA(B2;1)&"*";'DESCRITIVO DETALHADO'!B:B;0)));LIN(INDIRETO("1:"&LIN(INDIRETO("'DESCRITIVO DETALHADO'!C" &CORRESP("Total F"&DIREITA(B2;1)&"*";'DESCRITIVO DETALHADO'!B:B;0)&":Z"&CORRESP("Total F"&DIREITA(B2;1)&"*";'DESCRITIVO DETALHADO'!B:B;0)))-1))*2-1)
  8. @mcoumiotis A fórmula é do fornecedor F1 e portanto deve ficar na aba Histórico F1. Para os outros é só editar o range.
  9. @Ednilson Vicentini Se converter para número verá que a variação não é exata. Mas você pode aplicar a formatação de hora, =VALOR(TEXTO(B2-A2;"HH:MM"))
  10. @mcoumiotis Para retornar a matriz de totais das colunas ímpares (por causa das mesclas), veja se é isto, =ÍNDICE(TRANSPOR('DESCRITIVO DETALHADO'!C13:Z13);LIN(INDIRETO("1:"&LIN('DESCRITIVO DETALHADO'!C13:Z13)-1))*2-1)
  11. @GENECIOFICIAL Se o seu excel for compatível com HSTACK, =SOMA(--SE((--((B4:G4-HSTACK(C4:G4;0)+1)=0))=0;(--((B4:G4-HSTACK(0;B4:F4)-1)=0))=1;0)) Outra forma é com linhas auxiliares, p.ex, Em A7 tem a soma. Veja que a fórmula pega uma coluna a mais, então as células A4 e H4 devem ficar em branco. Por isso usei HSTACK para criar um elemento com zero.
  12. No seu segundo exemplo (9, 31, 32, 33, 34, 45) diz que deverá retornar 4, mas não devia ser 1? Aí só tem um bloco de números consecutivos. Com seis colunas a quantidade máxima de blocos com sequências é três.
  13. No caso de 30, 31, 32, 33, 35, 36. Quantas seriam?
  14. @Jeff_Sandes Retorna Falso porque sua fórmula está fazendo um teste lógico: Range("BE" & inicio).Value = Format(Time, "00:00") Qual o conteúdo do range? Por que passou Time para a fórmula Format? Sem detalhes da sua planilha entendo que devia ser algo assim, Format(Range("BE" & inicio).Value, "00:00")
  15. @Jeff_Sandes Para mudar o formato você pode atribuir os 5 primeiros caracteres da string menor: Left(Menor, 5). O código coloca os dados a partir da coluna G, se quiser outra é só editar esta parte: [G:G].Column
  16. @Jeff_Sandes Para copiar os dados para a outra configuração, a macro vai apagar os originais. Sub OrganizaHorario() Dim Area As Range Dim Procura As Range Dim Menor As String Dim Linha As Long Set Area = [A2:E18] Area.NumberFormat = "[$-x-systime]h:mm:ss AM/PM" Linha = 2 While WorksheetFunction.CountA(Area) <> 0 Menor = Format(WorksheetFunction.Min(Area), "HH:MM:SS") Set Procura = Area.Find( _ What:=Menor, LookIn:=xlValues, LookAt:=xlWhole) If Not Procura Is Nothing Then Do ThisWorkbook.ActiveSheet.Cells( _ Linha, Procura.Column + [G:G].Column - 1).Value = Menor Procura.Value = "" Set Procura = Area.FindNext(Procura) Loop Until Procura Is Nothing Else MsgBox "Erro" Exit Sub End If Linha = Linha + 1 Wend End Sub
  17. @rafaznj Assim se os números forem todos maiores que 100 pode retornar o valor errado, p.ex para entradas nesta ordem: 102, 101, 103. Vai mostrar que o menor é 100. Para evitar isso você pode pedir o valor antes de entrar no loop e já atribuir isso a menor e maior, cout << "Digite o numero 1: "; cin >> n; menor = n; maior = n; for (int i = 2; i <= lista; i ++) { cout << "Digite o numero " << i << ": "; ...
  18. Se o deslocamento passar do limite de linhas da planilha vai dar erro em algumas. Mas só se tiver outra edição que cause isso ou a tabela passe da metade de linhas da planilha.
  19. @mcoumiotis Não recomendo usar a primeira fórmula por causa da questão do range. Cheguei em outra mais compacta que a segunda, =SUBTOTAL(9;INDIRETO(ENDEREÇO(LIN(D4:D16);COL(D:D))&":"&ENDEREÇO(MÁXIMO(LIN(D4:D16));COL(D:D))))
  20. Se tiver problema com a primeira fórmula por causa do range que comentei, fiz um a juste para evitar isso, =SUBTOTAL(9;DESLOC(INDIRETO("D4:D"&MÁXIMO(LIN(D4:D16))-(LIN(INDIRETO("1:"&CONT.VALORES(D4:D16)))-1));(LIN(INDIRETO("1:"&CONT.VALORES(D4:D16)))-1);0))
  21. @mcoumiotis Cole na primeira linha do saldo. Não deixe nenhum valor a baixo da tabela (coluna valor) ou pode entrar no cálculo. O range da coluna vai aumentar na fórmula na quantidade das linhas da soma. =SUBTOTAL(9;DESLOC(D4:D16;LIN(INDIRETO("1:"&CONT.VALORES(D4:D16)))-1;0))
  22. Não funciona. Primeiro insira um número que não é primo (1000 p.ex) e escolha a opção 2. Seu programa vai dizer corretamente que não é primo. Na sequencia insira o número 13 e escolha a opção 2. Aí vai mostrar que 13 não é primo. Acho que assim vai entender o quero dizer sobre iniciar as variáveis antes do loop.
  23. @Eli Almeidaa Na opção 2 seu código verifica se o número primo. Para isso o loop faz o incremento das variáveis contarDivisor e contador. Se essas variáveis não forem iniciadas corretamente, no próximo loop elas vão continuar com o valor do processo anterior. Por isso a atribuição delas deve ser feita sempre antes de entrar no loop. Se você fizer isso no início do programa só vai iniciar uma vez, p.ex assim teria resultados errados, Var opcao, numero, contador, contarDivisor: inteiro Inicio contarDivisor <- 0 contador <- 1 Repita escreval("Menu") escreval("1. Inserir número") ...
  24. Isso não faz sentido já que Nome é do tipo caractere (ou string) e Paulo é do tipo lógico. São dois tipos distintos e o operador maior ou igual é usado para testes numéricos. Nesse código você só precisa uma variável do tipo caractere que recebe a entrada do usuário. Aí no teste condicional poderá verificar o nome, .p,ex var Nome: Caractere ... Se Nome = "Paulo" então Escreva (" Historia de Paulo ") SeNao Escreva(" Então qual personagem?") FimSe Assim o teste será feito com a variável Nome e a constante (ou literal) Paulo. Perceba a diferença entre constante e variável.

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!