Notifications
Clear all

apagar dados

4 Posts
1 Usuários
0 Reactions
1,056 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

olá pessoal ,com a ajuda do forum criei uma planilha chamada (controle de famacia) para pacientes cronicos que pegam medicação todo o mês, até que ela está servindo muito bem ,pelo menos aposentamos as fichas de papel o que foi um grande avanço,mas agora estou esbarrando em uma pequena questão,a planilha está ficando muito pesada pois já temos mais de 500 pessoas cadastradas,então estou tentando dar uma enxugada nela,mas as 500 pessoas correspondem a 500 planilhas e tenho que apagar dados de varias colunas planilha por planilha.a pergunta é_como automatizar essa tarefa para que eu possa apagar dados,limpar formatação,deixar sem preenchimento e sem bordas se é que isso influencia no tamanho do arquivo das colunas por exemplo coluna P até HP das 500 planilhas de uma só vez.

 
Postado : 23/05/2012 12:50 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Tente:

Sub EXCEL_FILE()
Dim WSheet As Worksheet
'Para cada planilha no arquivo
For Each WSheet In Worksheets
WSheet.Activate
Range("P1:Hp65000").Clear
Next
End Sub
 
Postado : 23/05/2012 1:59 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Elton,

Devido a grande quantidade de abas, recomendo acrescentar um comando para desabilitar a atualização de tela e fazer com que o código execute mais rápido.

Então, atualizando o código fornecido pelo Reinaldo:

Sub EXCEL_FILE()
Dim WSheet As Worksheet
'Para cada planilha no arquivo
Application.ScreenUpdating = False
For Each WSheet In Worksheets
WSheet.Activate
Range("P1:Hp65000").Clear
Next
Application.ScreenUpdating = True
End Sub

 
Postado : 23/05/2012 4:32 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ou então, tem essa versão que apresenta o andamento na barra de status do Excel...

Sub LimpaRegiao()
    Dim WSheet As Worksheet
    Dim Atual As Long
    Dim Total As Long
    
    oldStatusBar = Application.DisplayStatusBar
    Application.DisplayStatusBar = True
    Application.ScreenUpdating = False

    'Para cada planilha no arquivo
    Total = Worksheets.Count
    Atual = 0
    For Each WSheet In Worksheets
        Atual = Atual + 1
        Application.StatusBar = "Aguarde... " & Atual & "/" & Total
        WSheet.Activate
        Range("P1:HP65000").Clear
    Next

    Application.StatusBar = False
    Application.DisplayStatusBar = oldStatusBar
    Application.ScreenUpdating = True
End Sub
 
Postado : 23/05/2012 4:44 pm