Notifications
Clear all

Macro arquivo conrompido

4 Posts
3 Usuários
0 Reactions
688 Visualizações
(@alexsprim)
Posts: 2
New Member
Topic starter
 

Pessoal estou usando a macro abaixo para salvar as abas em vários arquivos excel, porém ao salvar toda vez que abro os arquivos dá erro de arquivo corrompido

Public Sub SplitSheetsToWorkbook()
    On Error GoTo TrataErro
 
    'variáveis
    Dim newBook As Workbook
    Dim sheet As Worksheet
    Dim i As Byte
 
    'Desativa os avisos e atualiação da tela
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
 
    For Each sheet In ThisWorkbook.Worksheets
        'cria uma nova pasta de trabalho:
        Set newBook = Application.Workbooks.Add
        'copia a planilha
        sheet.Copy Before:=newBook.Sheets(1)
        'remove as outras
        For i = 2 To newBook.Worksheets.Count
            newBook.Worksheets(2).Delete
        Next i
        'salva o arquivo
        newBook.SaveAs Replace(ThisWorkbook.FullName, ThisWorkbook.Name, vbNullString) & sheet.Name & ".xls"
        newBook.Close
    Next sheet
 
TrataSaida:
    'Reativa os avisos e atualiação da tela
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
 
    'zera as variáveis
    Set newBook = Nothing
    Set sheet = Nothing
 
    MsgBox "Feito!"
    Exit Sub
 
TrataErro:
    MsgBox Err.Description, vbCritical, "Erro"
 
    GoTo TrataSaida
End Sub

o erro que dá eh esse

O formato de arquivo e extensão de "xxxx.xls" não correspondem....
o que faço para não dar esse erro? Obrigatoriamente preciso gerar em .XLS pois o sistema que eu importo o arquivo não importa em excel novo.

 
Postado : 16/12/2016 8:50 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde alexprim

Seja bem-vindo ao fórum!

Movi teu tópico para o local correto, VBa & Macros que é o assunto da tua dúvida.

Como você ´novato, para facilitar a tua participação, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/12/2016 9:43 am
(@alexsprim)
Posts: 2
New Member
Topic starter
 

Pessoal estou usando a macro abaixo para salvar as abas em vários arquivos excel, porém ao salvar toda vez que abro os arquivos dá erro de arquivo corrompido

Public Sub SplitSheetsToWorkbook()
    On Error GoTo TrataErro
 
    'variáveis
    Dim newBook As Workbook
    Dim sheet As Worksheet
    Dim i As Byte
 
    'Desativa os avisos e atualiação da tela
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
 
    For Each sheet In ThisWorkbook.Worksheets
        'cria uma nova pasta de trabalho:
        Set newBook = Application.Workbooks.Add
        'copia a planilha
        sheet.Copy Before:=newBook.Sheets(1)
        'remove as outras
        For i = 2 To newBook.Worksheets.Count
            newBook.Worksheets(2).Delete
        Next i
        'salva o arquivo
        newBook.SaveAs Replace(ThisWorkbook.FullName, ThisWorkbook.Name, vbNullString) & sheet.Name & ".xls"
        newBook.Close
    Next sheet
 
TrataSaida:
    'Reativa os avisos e atualiação da tela
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
 
    'zera as variáveis
    Set newBook = Nothing
    Set sheet = Nothing
 
    MsgBox "Feito!"
    Exit Sub
 
TrataErro:
    MsgBox Err.Description, vbCritical, "Erro"
 
    GoTo TrataSaida
End Sub

o erro que dá eh esse

O formato de arquivo e extensão de "xxxx.xls" não correspondem....
o que faço para não dar esse erro? Obrigatoriamente preciso gerar em .XLS pois o sistema que eu importo o arquivo não importa em excel novo.

 
Postado : 22/12/2016 8:31 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Alex, faltou vc definir o FileFormat

newBook.SaveAs FileName:= ThisWorkbook.Path & "" & sheet.Name & ".xls", FileFormat:= xlExcel8

Veja o artigo:
http://www.rondebruin.nl/win/s5/win001.htm

 
Postado : 22/12/2016 9:25 pm