Ir ao conteúdo
  • Cadastre-se

jeffsilveira

Membro Pleno
  • Posts

    659
  • Cadastrado em

  • Última visita

Tudo que jeffsilveira postou

  1. Divida em colunas e edite sua marca d'água (duplique o texto/imagem em um editor de imagens qualquer). teste.docx
  2. De: If ActiveCell.Address = "$I$" & linha Then Para: If ActiveCell = Cells(linha, 9) Then
  3. Tente substituir: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Por: Private Sub Worksheet_Calculate() E: If Target.Address = "$I$" & linha Then Por: If ActiveCell.Address = "$I$" & linha Then Já tentou isso?
  4. Wesley, tenho esse arquivo de contagem regressiva. Talvez se na macro você buscar pelo tempo da música e adaptar... tenta aí! http://www.sendspace.com/file/s0x55p Abração.
  5. Wesley, tentou usar o comando Call para chamar a sub do botão? Tiro no escuro, mas numa dessas funciona.
  6. Zinho, estou partindo do princípio de que Max seja o dono e esqueceu sua senha. Senão concordo contigo, além de antiético é quebra de privacidade alheia! Valeu!
  7. Max, seu arquivo foi criptografado. Achei que era senha normal ou via vba, mas nesse caso o problema é sério. Até onde sei não há maneira de recuperar o arquivo a não ser tendo a senha em mãos. Para criptografar um arquivo no excel 2007: Clique no botão do Office, aponte o mouse em Preparar e em seguida clique em Criptografar Documento. Defina a senha e salve o documento. Com a perda da senha não há maneira de recuperá-la. Dessa vez não consigo ajudar... desculpe! E boa sorte!
  8. Max, utilize um site como www.sendspace.com. No site clique em browse, selecione seu arquivo e clique em upload. Após o carregamento, clique no 1º 'Copy Link' e cole o link aqui no fórum. No aguardo.
  9. Max, aparentemente deve ser uma InputBox acionada por uma macro em Workbook Open. Tente o seguinte: Abra uma planilha nova no excel e tecle Alt F11 para abrir o VBA. Volte para as pastas do windows (sem fechar o vba e o excel), procure sua planilha e clique para abri-la. Com o arquivo aberto (e a inputbox lá), volte ao VBA e clique 2x em EstaPasta_de_trabalho (no menu à esquerda). Se não houver código ali, tente nos códigos de cada aba. Procure um comando parecido com: If InputBox(...) <> "senha" Then Application.Quit End If O que estiver entre aspas é a senha do arquivo. Você pode excluir todo o comando até o End If para que não surja mais isso. Se não for isso, envie a planilha para que possamos visualizá-la. Abraços.
  10. Olá! seja bem vindo. Dá pra fazer isso via macro. Abra a planilha, tecle Alt F11 para entrar no VBA. No menu à esquerda dê clique duplo em EstaPasta_de_trabalho. Na janela em branco que abrir cole o código abaixo. Tecle Alt Q para fechar o VBA e voltar ao excel. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets("aba").Range("A1") = Now End Sub Substitua aba pelo nome da aba que vai receber a data. Substitua A1 pela célula onde você quer que fique a data. Formate-a para a maneira que você quer visualizar: data e hora, só data, etc. Lembre-se de salvar a planilha no formato xlsm. Esse código faz com que ao salvar a planilha a data e hora atuais sejam inseridas na célula. Assim, ao ser modificada a planilha data a intervenção. Abraços.
  11. Simara, use o código abaixo que vai copiar tudo para uma aba só. As abas existentes, de gráficos e outras serão todas excluídas e a planilha ficará com uma aba apenas. Antes de executar a macro salve o arquivo em Excel 2007 ou superior, senão não haverá número de linhas suficientes e a macro dará erro. Dê retorno. Sub juntarabas() ' desabilita atualização da tela Application.ScreenUpdating = False ' desabilita mensagens Application.DisplayAlerts = False ' cria nova aba e nomeia Sheets.Add Before:=Sheets(1) ActiveSheet.Name = "RESUMO GERAL" ' copia cabeçalho da aba seguinte ActiveSheet.Next.Select Range("A1:A6").EntireRow.Copy ' cola na aba resumo ActiveSheet.Previous.Select Rows("1:1").Insert Shift:=xlDown ' dimensiona variável Dim LIN As Integer ' copia o conteúdo da aba seguinte e apaga a aba Do Sheets("RESUMO GERAL").Select ' define a primeira linha vazia da aba resumo LIN = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row + 1 ' vai para a aba seguinte ActiveSheet.Next.Select 'executa somente se a aba tiver nome numérico (senão deleta) If Not IsNumeric(ActiveSheet.Name) Then GoTo ok ' copia o conteúdo necessário Range("A7:A" & Cells(Rows.Count, 1).End(xlUp).Row).EntireRow.Copy ' volta para a aba inicial e cola ActiveSheet.Previous.Select Rows(LIN).Insert Shift:=xlDown ' vai para a aba copiada e deleta ela ActiveSheet.Next.Select ok: ActiveSheet.Delete ' limpa a variável LIN LIN = 0 ' repete o procedimento até haver apenas 1 aba Loop Until Worksheets.Count = 1 'arruma Columns("A:A").ColumnWidth = 7.29 Columns("B:B").ColumnWidth = 8.71 Columns("C:C").ColumnWidth = 25.86 Columns("D:D").ColumnWidth = 13.71 Columns("E:E").ColumnWidth = 9.86 Columns("F:F").ColumnWidth = 8.71 Columns("G:G").ColumnWidth = 6 Columns("H:H").ColumnWidth = 10.14 Columns("I:I").ColumnWidth = 9.86 Columns("J:J").ColumnWidth = 6.29 Columns("K:K").ColumnWidth = 5.57 Columns("L:L").ColumnWidth = 12.57 Columns("M:M").ColumnWidth = 5.57 Columns("N:N").ColumnWidth = 18.43 Columns("O:O").ColumnWidth = 2.29 Columns("P:P").ColumnWidth = 10.29 Application.CutCopyMode = False ' habilita atualização da tela Application.ScreenUpdating = False ' habilita mensagens Application.DisplayAlerts = False Range("A1").Select End Sub
  12. Simara, preciso tirar algumas dúvidas: - Todas as abas de sua planilha possui um mesmo cabeçalho. Eles devem ser copiados? Ou somente da linha 7 para baixo? - Ao final de cada aba há vários totais. Eles devem ser copiados? Ou você terá um só no final? - As planilhas serão copiadas uma abaixo a outra, certo? Você quer que fique igual à aba geral? - As abas de gráficos serão ignoradas. Responda as questões acima para que eu possa ajudá-la da melhor forma possível. No aguardo.
  13. Rapaz, confesso que não entendi direito sua explicação. A princípio sua dúvida aparentava ser simples. Faça assim: veja a planilha que fiz para simples inserção de aniversários. Verifique a macro e tente adaptar a parte de buscar a última linha preenchida. A macro está fácil e bem explicada. http://www.sendspace.com/file/y0umvh Dê retorno.
  14. O comando para buscar a última linha preenchida na coluna A, por exemplo, é: Cells(Rows.Count,1).End(xlUp) Onde A=1, B=2, C=3, etc. Para a primeira em branco após a última preenchida, usa-se offset: Cells(Rows.Count,1).End(xlUp).Offset(1,0) Para usar o número da linha em questão, basta acrescentar no final .Row no final de cada comando acima. Isso é útil quando associado a um For, por exemplo. Se não for isso, poste um exemplo de sua planilha com dados fictícios. Use sendspace.com. Dê retorno.
  15. Raphael, tente usar filtro avançado. Pelo Excel 2007 faça assim: Vá na guia Dados e clique em Avançado, ao lado do ícone do Filtro. Na janela que abrir, selecione Copiar para outro local. Em Intervalo da Lista digite $A:$A (coluna dos nomes), critérios deixe em branco, Copiar para digite $E$1 (coluna destino) e marque Somente registros exclusivos. Dê ok e pronto, surgirá uma lista com uma vez cada nome. Abraços.
  16. É por aí, Renato. Com uma aba mais organizada você consegue utilizar PROCV e dispensar macros, o que simplifica o uso da planilha. Veja nessa planilha uma aplicação usual do PROCV: http://www.sendspace.com/file/3lukuy
  17. Olá RainBica, a macro possui o comando: .Range("A1: D" & lin).Borders.LineStyle = xlContinuous exatamente para formatar as bordas e ficar como na planilha inicial. Se sua planilha possui outro tipo de formatação: - alterei a planilha: http://www.sendspace.com/file/92yril - com o código abaixo: Sub transfere() 'desabilita atualização de tela Application.ScreenUpdating = False 'define última linha da aba atual Dim lin As Long lin = Cells(Rows.Count, 1).End(xlUp).Row 'seleciona a aba do banco e transmite os dados For i = ActiveCell.Row To lin With Sheets(Cells(i, 5).Text) 'redefine última linha da aba 'i' lin = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row Range(Cells(i, 1), Cells(i, 4)).Copy Range(.Cells(lin, 1), .Cells(lin, 4)).PasteSpecial .Columns("A:D").AutoFit End With Next Application.CutCopyMode = False 'mensagem de sucesso MsgBox "Os dados foram transferidos!", vbOKOnly, "Sucesso!" 'habilita atualização de tela Application.ScreenUpdating = True End Sub Teste aí e dê retorno. Abraços e ótimo final de semana!
  18. Renato, vou dar umas dicas que talvez ajudem e até mudem a forma de buscar a melhor solução. Sua planilha Dados pessoais possui valores à deriva, sem cabeçalho ou colunas vizinhas para comparações. Se essa planilha tivesse seu layout melhorado, talvez seria possível utilizar um simples PROCV na aba Dados do contador, sem ser necessário copiar e colar. Entendeu a proposta? Você adicionaria uma coluna com os dados BG1, Pd1, Pd2, etc. e ao selecionar 4 Coletas, os valores seriam lançados diretamente com seus respectivos pares. É possível isso? Em suas macros opte por usar sempre o comando Application.ScreenUpdating = False no início e Application.ScreenUpdating = True no final. Assim a tela não fica alternando entre planilhas enquanto a macro roda - e ganha-se tempo. Para ocultar/mostrar várias linhas, não é necessário usar o comando ActiveSheet.Rows("1:1").Hidden = True linha por linha. Use, por exemplo, ActiveSheet.Rows("1:11").Hidden = True para ocultar as linhas de 1 a 11. Há uma macro com a seguinte sequência: Sheets("Dados do contador").Select ActiveWindow.SmallScroll Down:=15 Range("E32").Select ActiveCell.FormulaR1C1 = "=RC[-1]-AVERAGE(R[-1]C[-1],R[8]C[-1])" Range("E37").Select ActiveCell.FormulaR1C1 = "=RC[-1]-AVERAGE(R[-6]C[-1],R[3]C[-1])" Range("E38").Select ActiveWindow.SmallScroll Down:=-21 Range("D6").Select Sheets("Número de coletas").Select Substitua pelo código abaixo: Sheets("Dados do contador").Select Range("E32").FormulaR1C1 = "=RC[-1]-AVERAGE(R[-1]C[-1],R[8]C[-1])" Range("E37").FormulaR1C1 = "=RC[-1]-AVERAGE(R[-6]C[-1],R[3]C[-1])" Sheets("Número de coletas").Select Faz a mesma coisa mas resumido, sem comandos desnecessários como rolagem para baixo e excessos de .select. Adapte esse conceito para as demais. Espero ter ajudado. No aguardo.
  19. RainBica, há um detalhe importante: caso seja utilizada mais de uma vez com novos conteúdos adicionados posteriormente, a macro copiará todas as informações para as planilhas dos bancos, inclusive as que já foram copiadas anteriormente. Se for o seu caso, há uma maneira fácil de evitar isso. Para tanto, você deve colar o novo conteúdo e deixar selecionada a primeira célula da nova lista. Exemplo: a lista já transferida está em A2:E13. Você adiciona mais conteúdo e depois deixa a célula A14 selecionada (clique 1x sobre ela) e só então clique no botão da macro. Para isso, substitua a parte do código: For i = 2 To lin Por esta: For i = ActiveCell.Row To lin Acho que consegui explicar. Dê retorno.
  20. RainBica, obrigado pelos agradecimentos. Não sabia que você já teria os dados ao invés de inclui-los um por um. Mas relaxa, isso é um passatempo pra mim, gosto de fazer isso. Montei outra macro na tentativa de ajudá-lo. Essa repassa todos os lançamentos para os devidos bancos. MAS... as abas de cada banco já devem existir previamente, senão a macro dá erro. Teste aí e dê retorno. Planilha: http://www.sendspace.com/file/au6udh Macro: Sub transfere() 'desabilita atualização de tela Application.ScreenUpdating = False 'define última linha da aba atual Dim lin As Long lin = Cells(Rows.Count, 1).End(xlUp).Row 'seleciona a aba do banco e transmite os dados For i = 2 To lin With Sheets(Cells(i, 5).Text) 'redefine última linha da aba 'i' lin = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row .Cells(lin, 1) = Format(Cells(i, 1), "mm/dd/yy") .Cells(lin, 2) = Cells(i, 2) .Cells(lin, 3) = Cells(i, 3) * "1,00" .Cells(lin, 4) = Cells(i, 4) .Range("A1:D" & lin).Borders.LineStyle = xlContinuous .Columns("A:D").AutoFit End With Next 'mensagem de sucesso MsgBox "Os dados foram transferidos!", vbOKOnly, "Sucesso!" 'habilita atualização de tela Application.ScreenUpdating = True End Sub Abraços.
  21. Renato, na verdade a macro faz o seguinte processo: -cola normalmente no intervalo, inclusive nas células ocultas -busca quais células estão ocultas e cortam/colam dali para baixo em células visíveis -e assim por diante Para associar o Ctrl V, tecle Alt F8, selecione a macro copiacola e clique em opções. Na tecla de atalho coloque v. Se você possui dados nas células ocultas teremos que criar uma nova maneira da macro agir. Talvez utilizando um formulário. Envie um exemplo de sua planilha com dados fictícios para facilitar. Abraço.
  22. Renato, experimente a planilha no link abaixo: http://www.sendspace.com/file/hzum7p A macro está bem explicada em seu próprio corpo, mas precisando de ajustes, não deixe de avisar! Abraços.
  23. RainBica, desculpe a demora em responder, mas fim de semana é lazer, então... Montei uma planilha com formulário. Veja no link abaixo se te atende. Precisando de alteração ou de alguns ajustes, avise-me. http://www.sendspace.com/file/1hgynx A macro faz o seguinte: transmite os dados do formulário para a aba Todos e para a aba do Banco específico. Se não houver aba com nome do banco, existe uma aba oculta padrão para criar novas abas. Claro, tenha o cuidado de digitar um nome apenas para os bancos: CAIXA, CEF ou BANCO DO BRASIL, BB, etc. Isso fará criar uma aba para cada descrição diferente. No aguardo. Abração. Jé

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!