Ir ao conteúdo

daviddatal

Membro Pleno
  • Posts

    817
  • Cadastrado em

  • Última visita

Tudo que daviddatal postou

  1. Preciso que o excel mude o nome da planilha (plan1, plan2, plna3 etc) de acordo com o que estiver em uma célula, por exemplo, C3.
  2. A função congelar painéis no excel congela as colunas à esquerda e as linhas acima da célula selecionada. Como posso fazer esse congelamento do lado direito da planilha? Anexei um arquivo, nele pretendo congelar a tabela da direita (onde tem teste, teste...) congelar.xlsx
  3. a primeira linha tem células mescladas, tipo RELATÓRIO, a segunda linha tem os nomes da tabela, CÓDIGO, MÉDIA, NOME, CARGO, etc Eu clico em qualquer célula da segunda linha, vou em classificar, mas as opções que aparecem são COLUNAS A, COLUNAS B, etc. O que fazer para evitar isso? obs: percebo que isso acontece quando eu faço uma segunda classificação na tabela, na 1ª vez é normal, na segunda aparece COLUNAS A, COLUNAS B, etc.
  4. As vezes quando vou classificar uma tabela no excel não consigo escolher pelo nome dos títulos que estão na tabela, por ex, NOME, IDADE, CARGO, etc. Ao invés dos textos que tem no cabeçalho da tabela aparece é Colunas A, Colunas B, Colunas C, etc e noutras vezes aparece entre parênteses: (Colunas A), (Colunas B), (Colunas C), etc. O que fazer para a ferramenta classificar mostrar de novo o nome das colunas da tabela?
  5. Não serei eu que vou usar a planilha, se fosse eu bastaria configurar a impressão, escolher a impressora, etc. Preciso automatizar o máximo possível, para que o usuário possa utilizar a planilha com praticidade.
  6. Quais são as impressoras que veem juntas na instalação do pacote office? Vejo essas: Microsoft XPS Document Writer Microsoft Print to PDF Enviar para o OneNote 2010 Mas tem um detalhe: criando uma variável qualquer e atribuindo a ela o nome exato da impressora padrão: dim modelo as String modelo = application.ActivePrinter em Verificação Imediata: ? modelo Foxit Reader PDF Printer em Ne03: Podemos notar que o excel guarda o nome da impressora e acrescenta no final uma identificação (Ne03:) O problema é que se em outro computador a impressora padrão do Windows estiver em outra posição/identifcação (Ne01: ou Ne02: ou Ne03: ou Ne04 etc) vai dar problema.
  7. CasaDoHardware, seu código está muito repetitivo, dá pra enxugar as linhas de comando. Mas não funcionou aqui. Instalei um outro leitor de pdf, o PDF Creator, testei a macro e funcionou também, assim como no caso do Foxit PDF Reader. Me parece que é preciso ter algum programa de pdf instalado para o código de configurar a página para impressão funcionar normalmente. Eu preciso que o código não dependa de programa nem de impressora, faça apenas a configuração da página para imprimir, sem imprimir.
  8. 1) Não importa se a planiha A1:D30 é diferente da inicial, pois o problema aparece nela também. 2) Considere minha planilha de trabalho esse última (Macro_Problema_Impressão). 3) A configuração que quero fazer eu disse na última mensagem: APENAS configurar a página para impressão. 4) O resultado esperado é não ter erros na execução da macro, e que ela deixe a planilha configurada para imprimir, de acordo com os valores contidos nos itens da classe PageSetup.
  9. Vou fazer isso. Será que teria como resolver esse problema com o comando abaixo? Application.ActivePrinter = "......" Entre as aspas colocar algum código que generalize a impressora ativa, ou que não vincule à nenhuma impressora... adicionado 25 minutos depois O arquivo: Macro_Problema_Impressão.rar A macro deve simplesmente configurar a página parar impressão, sem imprimir. Nesse arquivo dá pra perceber que colei várias vezes uma pequena tabela. Quando fiz a tabela inicialmente (sem copiá-la) e testei o código em outro computador não deu o erro. Depois fiz várias cópias da tabela, como está no arquivo, testei e deu o erro. obs: o erro aparentemente só acontece se o computador não tiver o Foxit PDF Reader.
  10. Pesquisando, vi que meu problema é igual a esse: Problema Comunicação Impressora Parece que os comandos de cabeçalho e rodapé, margens, etc estão associados à impressora selecionada no momento de gravação da macro, se trocar de impressora ou de computador o excel diz: Erro em tempo de execução "1004": Não é possível definir a propriedade LeftHeader da classe PageSetup Esse LeftHeader é o primeiro parâmetro que aparece da classe PageSetup. Naturalmente, se eu deletá-lo o erro cairá sobre a próxima propriedade, que é CenterHeader, etc
  11. Quero configurar impressão para a região A1:D20. A parte do código referente à impressão é: Application.PrintCommunication = False With ActiveSheet.PageSetup .PrintTitleRows = "$1:$2" .PrintTitleColumns = "" End With Application.PrintCommunication = True ActiveSheet.PageSetup.PrintArea = "$A$1:$D$20" Application.PrintCommunication = False With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(0.196850393700787) .RightMargin = Application.InchesToPoints(0.196850393700787) .TopMargin = Application.InchesToPoints(0.196850393700787) .BottomMargin = Application.InchesToPoints(0.196850393700787) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintSheetEnd .PrintQuality = 600 .CenterHorizontally = True .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False .PrintErrors = xlPrintErrorsDisplayed .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .ScaleWithDocHeaderFooter = True .AlignMarginsHeaderFooter = True .EvenPage.LeftHeader.Text = "" .EvenPage.CenterHeader.Text = "" .EvenPage.RightHeader.Text = "" .EvenPage.LeftFooter.Text = "" .EvenPage.CenterFooter.Text = "" .EvenPage.RightFooter.Text = "" .FirstPage.LeftHeader.Text = "" .FirstPage.CenterHeader.Text = "" .FirstPage.RightHeader.Text = "" .FirstPage.LeftFooter.Text = "" .FirstPage.CenterFooter.Text = "" .FirstPage.RightFooter.Text = "" End With Application.PrintCommunication = True
  12. Gravar a macro eu sei fazer, mas qual o código para fazer configurações apenas no excel, sem nenhum programa externo?
  13. Como eu disse, quero Apenas configurar a impressão, deixar no jeito, mas sem imprimir. Tem algum código que faça com que as configurações de impressão estejam disponíveis para qualquer impressora, ou que não esteja vinculada à impressora padrão?
  14. O problema é que como eu criei a macro no meu notebook, que tem como impressora padrão o Foxit PDF Reader, ao executar a macro em outro computador que não tenha o foxit PDF Reader o excel mostra o erro abaixo: "Erro em tempo de execução 1004" Não é possível definir a propriedade LeftHeader da classe PageSetup. Eu gostaria de usar um código que não estivesse vinculado à nenhuma impressora, que apenas configurasse a impressão da página, independente da impressora. Pois do jeito que eu fiz, a macro só funciona em computadores que tiverem o Foxit PDF Reader instalado, e como o arquivo será usado em muitos computadores preciso de um código genérico, que não dependa de uma impressora específica.
  15. Fiz um arquivo de excel com macro no meu notebook e funciona perfeitamente. Mas quando abri em outro computador, ele disse que as macros estão corrompidas e não consigo executá-las. Se colocar o mesmo arquivo de volta no meu notebook continua funcionando. O que posso fazer para resolver esse problema?
  16. Fiz uma macro para configurar impressão e funciona perfeitamente no meu notebook, usando o Foxit PDF Reader 6. Ao testar a macro em outro computador, que não tem o Leitor de PDF Foxit, deu o seguinte erro de execução: "Erro em tempo de execução 1004" Não é possível definir a propriedade LeftHeader da classe PageSetup. Quando instalo o Foxit no computador que deu erro aí não aparece mais o erro. E ainda, se a versão do Foxit for diferente daquela que está no notebook onde fiz a macro também dá erro. O que devo fazer para generalizar, ou seja, o código não ficar vinculado à uma impressora específica (foxit pdf) e poder imprimir em qualquer impressora? A parte do código usada para configurar a impressão foi: Application.PrintCommunication = False With ActiveSheet.PageSetup .PrintTitleRows = "$1:$2" .PrintTitleColumns = "" End With Application.PrintCommunication = True ActiveSheet.PageSetup.PrintArea = "$A$1:$D$30" Application.PrintCommunication = False With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(0.196850393700787) .RightMargin = Application.InchesToPoints(0.196850393700787) .TopMargin = Application.InchesToPoints(0.196850393700787) .BottomMargin = Application.InchesToPoints(0.196850393700787) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintSheetEnd .PrintQuality = 600 .CenterHorizontally = True .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False .PrintErrors = xlPrintErrorsDisplayed .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .ScaleWithDocHeaderFooter = True .AlignMarginsHeaderFooter = True .EvenPage.LeftHeader.Text = "" .EvenPage.CenterHeader.Text = "" .EvenPage.RightHeader.Text = "" .EvenPage.LeftFooter.Text = "" .EvenPage.CenterFooter.Text = "" .EvenPage.RightFooter.Text = "" .FirstPage.LeftHeader.Text = "" .FirstPage.CenterHeader.Text = "" .FirstPage.RightHeader.Text = "" .FirstPage.LeftFooter.Text = "" .FirstPage.CenterFooter.Text = "" .FirstPage.RightFooter.Text = "" End With Application.PrintCommunication = True
  17. Excelente! Era a sintaxe que eu estava precisando formular, obrigado!
  18. Quero selecionar 4 células na horizontal, indo de A (variável) até D (variável). eu criei uma variável chamada variável, que recebe um número. Se eu fizer: Range("A" & variável).Select vai selecionar a célula na coluna A e linha igual ao valor da variável. Mas como devo escrever o Range para que ele selecione o intervalo A(variável) até D(variável) ? Por exemplo, se variável = 5 então o Range selecionaria o intervalo A5:D5.
  19. Eu estou criando uma macro que, entre outras coisas, insere uma linha em determinado lugar, só que esse lugar de inserção pode mudar em função do valor de uma célula. Na imagem abaixo, coloquei C3=10, então quero que a macro insira uma linha abaixo daquela que tem o número 10, na coluna nº. Nesse caso, a macro tem que selecionar a linha 13 para inserir uma linha abaixo da célula que tem valor 10 na coluna nº. Sendo assim, a fórmula deveria ser: Rows("13:13").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Minha dúvida é como escrever o código dentro desses parênteses Rows(" : ").Select par que ao invés de ser um valor fixo, no exemplo o 13, eu indique o valor da célula C3. Se C3 fosse igual a 5, a macro deverá selecionar a linha 8 e inserir a nova linha. Se C3 fosse igual a 6, a macro deverá selecionar a linha 9 e inserir a nova linha, etc.
  20. Eu coloquei esse código dentro do Rows, está certo? Rows("ActiveSheet.Range("A3:" & Range("A3").Value).Select:ActiveSheet.Range("A3:" & Range("A3").Value).Select").Select Outra possibilidade seria criar uma variável para receber o valor de A3 e indicar essa variável dentro do Rows: Rows(variável:variável).Select Mas qual a sintaxe para chamar variável dentro do Rows? Tem que usar algum caractere especial, tipo $variável, ou #variável, etc?
  21. No VBA, quando selecionamos uma linha o comando é: Rows("17:17").Select nesse exemplo a linha 17 será selecionada. Como devo escrever para que ao invés de 17:17 eu indique o valor da célula C3, por exemplo? Já tentei : Rows(""C3":"C3"").Select Rows("ActiveSheet.Cells("C3").Value:ActiveSheet.Cells("C3").Value").Select .... Mas ainda não consegui...
  22. Deu certo aqui. Apliquei inicialmente um filtro avançado, depois classifiquei a tabela pela condição e outro nível para o fornecedor.
  23. Bom dia, Patropi O teu filtro não funcionou, ele simplesmente copiou toda a tabela de dados. adicionado 2 minutos depois Bom dia, CasadoHardware Tudo bem que todos os dados serão do tipo "VENDIDO", mas além de filtrar por esse critério eu quero que os dados fiquem organizados (agrupados) pelos critérios "CONDIÇÃO" e "FORNECEDOR".
  24. Com o filtro avançado podemos definir: 1) Intervalo da lista; 2) Intervalo de critérios; 3) Copiar para. Desejo criar uma MACRO com um só filtro avançado que liste 4 grupos de dados um abaixo do outro, como se tivesse feito 4 filtros. Ocorre que se eu criar uma MACRO com o filtro avançado usando um critério, e depois for usar o filtro de novo com outro critério, o excel sobrescreve a primeira filtragem (se eu selecionar os mesmos cabeçalhos de destino). Por outro lado, se nesse segundo filtro eu indicar a próxima linha abaixo do último dado coletado pelo primeiro filtro, o excel cria outros cabeçalhos nessa linha. Mas eu preciso que os dados filtrados da segunda vez fiquem logo abaixo dos primeiros, sem precisar criar outros cabeçalhos entre as duas filtragens. O arquivo abaixo mostra os 4 filtros individuais e na parte central inferior eu mostro a filtragem que eu gostaria que acontecesse. Teste Filtro Avançado.rar
  25. Atualização: Quero criar uma Macro que: 1) filtre os dados de uma tabela (EM BRANCO) por uma de suas colunas; 2) copie as informações; 3) cole em outro local. Quando a tabela JÁ TEM dados preenchidos a Macro funciona normal. Porém, quero criar uma Macro do zero, quando a tabela não tem nenhuma informação. A tabela tem 100 linhas para dados, quando gravo a macro e faço a filtragem, aparece a linha 101 em diante, se eu selecionar dessa linha 101 pra baixo não vai copiar os dados quando a tabela tiver sido preenchida. Como resolver esse problema?

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!