Ir ao conteúdo
  • Cadastre-se

Ingo M P Américo

Membro Pleno
  • Posts

    52
  • Cadastrado em

  • Última visita

Reputação

9
  1. @Basole e @Patropi Estou de saída. Assim que estiver na frente do computador novamente, eu testo. Brigaduuuu!!
  2. @Basole, funcionou mais ou menos. Não entendi porque você usou LIN, mas o valor de C3 deveria ser automaticamente o de Resultados!B4, o de C4 deveria ser o de Resultados!B6, o de C5 deveria ser o de Resultados!B8, entendes? C3 -> Resultados!B2 C4 -> Resultados!B4 C5 -> Resultados!B6 C6 -> Resultados!B8 Seria algo do tipo (supondo que a fórmula esteja na célula C4): =C3&(C3+2) . Porém, dessa forma, obviamente, não funciona. Tentei mexer no que você fez, mas não consegui.
  3. Olá doutores do VBA. Aqui venho eu novamente com uma dúvida de nubi. Seguinte: tenho uma planilha com dezenas de linhas. Essas linhas mostram resultados referenciados de outra planilha, ou seja, algo do tipo =Resultados!C2 . Acontece que na planilhas de "Resultados" as linhas que preciso referenciar não estão em uma sequência, o que quer dizer que não posso simplesmente clicar e arrastar a primeira célula até o final. Sendo assim, estou tendo que criar as referências manualmente assim: =Resultados!C2 , depois: =Resultados!C12 , depois: =Resultados!C14 e assim por diante. Minha pergunta é: tem como incrementar essa referência assim: =Resultados!E10+2 ? Tipo assim: Tentei fazer com ÍNDICE, com INDIRETO e com CONCATENAR, mas não funcionou. Estou mandando um exemplo anexa. teste incrementar referencia.xlsx
  4. @Miguel Donizeti Mosca Já experimentou usar o Método Speech.Speak? Sub UseSpeech() Application.Speech.Speak "Hello" End Sub Se fui útil, dá um "curtir".
  5. @PlayerMamuska Já experimentou desproteger toda a pasta de trabalho?
  6. @Edson Luiz Branco Funciona com uma coluna. Você disse que dá pra fazer um loop. Poderias postar um exemplo?
  7. Olá pessoal! Estou com um problema que para os ninjas do VBA daqui deve ser moleza de resolver. Tenho uma planilha que mostra uma listagem com 3 colunas: nome, sobrenome e número. Criei um VBA que, clicar em um botão específico, a listagem mostra um resultado específico. Por exemplo: quando eu clico no botão "João", a listagem só mostra as linhas com o nome "João". Estou fazendo isso via AutoFilter com o VBA abaixo: Sub filtroPessoasJoao() ActiveSheet.Range("tabelaPessoas").AutoFilter Field:=1, Criteria1:="João" End Sub Até aí tudo bem. Funciona tranquilamente. Acontece que, sempre que eu clico no botão, aparecem aquelas setas do auto filtro (vide imagem abaixo). Mesmo eu desabilitando a opção de filtro através de Dados -> Filtro, ainda assim, quando eu clico no botão, as setinhas reaparecem. Existe alguma forma de essas setas não aparecerem via VBA? Já tentei fazer da forma abaixo, mas aí o auto filtro não funciona. Sub filtroAndamentoOE1() ActiveSheet.Range("tabelaAndamento").AutoFilter Field:=1, Criteria1:="OE1" ActiveSheet.AutoFilterMode = False End Sub Estou mando um exemplo anexo. teste filtro.zip
  8. @Basole Funcionou perfeitamente. Pra variar, você mais uma vez salvando minha pele. Quando vier para Recife, me avisa, pra eu te pagar uma cerveja.
  9. Olá Pessoal! Tenho a seguinte linha em uma planilha: A parte verde é gerada randomicamente via VBA enquanto a azul é fixa. Como eu faço para que nenhum dos números (verdes + azuis) se repitam? Estou usando esse VBA: Sub gerarNumeros() '///////// Isso gera 60 número aleatórios e joga na planilha APOIO Const nMínimo As Long = 1 Const nMáximo As Long = 60 Const strDestino As String = "APOIO!B2:K2" Dim n As Long Dim r As Long Dim col As Collection Randomize Timer Set col = New Collection On Error Resume Next Do n = Int(Rnd * nMáximo) + nMínimo col.Add n, CStr(n) Loop Until col.Count = nMáximo For n = 1 To nMáximo Range(strDestino).Cells(n) = col(n) Next n On Error GoTo 0 '///////// Isso pega os 10 primeiros números e joga parte verde da planilha TABELA COM FECHAMENTO Sheets("APOIO").Select Range("B2:K2").Select Selection.Copy Sheets("TABELA COM FECHAMENTO").Select Range("B3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Estou mandando a planilha como anexo. FECHAMENTO TABELA TESTE.zip
  10. @diego_janjao Funcionou perfeitamente. Obrigado! Apenas não entendi o porquê de usar INDIRETO na fórmula.
  11. @Basole e @diego_janjao , obrigado pelas respostas! Não consegui fazer o que estou querendo, seguindo as explicações que vocês deram. Como achei que era uma coisa simples de resolver, talvez EU não tenha explicado direito (exemplo anexo). Seguinte... Tenho uma matriz com 435 linhas. Cada linha possui um CONT.SE para contar os valores presentes em outra matriz. Para fazer isso, estou usando o seguinte: CONT.SE(riscosMatrizPGRTIOE1;M12) "riscosMatrizPGRTIOE1" é o nome que dei para um conjunto de linhas e colunas presente na matriz onde conto os valores. Acontece que existem 15 tipos de riscosMatrizPGRTI que precisam ser alterados sempre que eu precisar mudar o tipo da contagem. Então, ao invés de mudar manualmente 435 vezes, eu gostaria de concatenar "riscosMatrizPGRTI" (parte fixa) com "OE(n)" (parte variável), onde (n) é um número que vai de 1 a 15. exemplo concatenar.xlsx
  12. Olá pessoal! Alguém sabe me dizer porque eu não consigo concatenar as células abaixo? adicionado 4 minutos depois Também tentei fazer usando &, mas também não funcionou (vide abaixo). Me parece ser uma erro primário, mas não imagino qual é o problema.
  13. @Basole , Obrigado pela resposta! Prometo que, assim que possível, eu vou fazer VBA com loop infinito só para lhe agradecer. Inseri o código da mudança de nome das imagens que você passou e continuou dando o mesmo erro, então modifiquei a forma como as linhas estavam sendo inseridas. Estava assim: Sheets("copiCola").Select Range("copiSaida").Select Selection.Copy Sheets("SAÍDAS").Select Range("B12:I12").Select Selection.Insert Shift:=xlDown Range("C12").Select E agora ficou assim: Range("B12:L12").Select Selection.Insert Shift:=xlDown Worksheets("copiCola").Range("copiSaida").Copy _ Destination:=Worksheets("SAÍDAS").Range("B12:I12") Range("C12").Select Aparentemente isso corrigiu o problema.
  14. Acho que encontrei a causa do problema: Quando insiro uma nova linha com a mesma imagem do calendário, a imagem fica com o mesmo nome de outra que já existia anteriormente e e aí dá pau no Excel, pois ficam duas imagens com mesmo nome na mesma planilha. Alguma ideia de como resolver isso?

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