Notifications
Clear all

VBA transforma numero em texto =/

6 Posts
3 Usuários
0 Reactions
1,802 Visualizações
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Bom dia pessoal,

Estou usando um codigo VBA, para salvar várias planilhas de uma pasta com algumas modificações,.

As modificações ocorrem sem problemas, porem quando abro o arquivo, as informações que tenham algum tipo de número quebrado ( com virgula por exemplo) viraram textos.

As planilhas que serão modificadas, são retiradas diretamente do SAP, veem em formato de excel 97 e quando vou no salvar como a primeira opção que aparece é de salvar como texto unicode ( nao sei se elas ja estao nesse modo tambem)

Já mudei várias vezes o format do save e afins e nada deu certo. :oops:

Anexo o VBA que estou usando:

Sub Retângulo1_Clique()
'SETA O DIRETORIO DOS ARQUIVOS

v_onde = "C:UserslgarridoDocuments129"

If IsError(v_onde) Then v_onde = "C:UserslgarridoDocuments129"

'ESTE TRECHO VAI VARRER O DIRETORIO DE ARQUIVOS

Set FSO = CreateObject("Scripting.FileSystemObject")

Set aqui = FSO.GetFolder(v_onde)

For Each arqui In aqui.Files 'percorre lista de arquivos

MsgBox "Abrindo o arquivo " & arqui.Path

Workbooks.Open Filename:=arqui.Path

Windows(arqui.Name).Activate

'COLOQUE O RESTO DOS COMANDOS AQUI
'
    Cells.Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$2:$AD$29062").AutoFilter Field:=2, Criteria1:=Array( _
        "*", "Ctr", "="), Operator:=xlFilterValues
    Rows("3:30000").Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.ShowAllData
    Range("A1").Select
   

Dim Nome As String
Nome = Worksheets(1).Range("B3")

ActiveWorkbook.SaveAs Filename:="C:UserslgarridoDocuments129Ca" & Nome & ".xls", _
FileFormat:=51, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
 ActiveWorkbook.Close




Next
End Sub

Podem ajudar ?

Abraços

 
Postado : 08/04/2016 8:35 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O ideal seria anexar o modelo original e um que foi salvo para uma analise mais detalhada, só pela rotia que postou nção da para saber pois a mesma só esta filtrando e salvando, teria de ver qual o formato estão estes numeros.

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

 
Postado : 08/04/2016 9:19 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Já experimentou alterar FileFormat:=51; para FileFormat:=56

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

 
Postado : 08/04/2016 10:20 am
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Fiz a modificação e mesmo assim não salva =/

Segue um exemplo da planilha em anexo.

Abraços.

 
Postado : 08/04/2016 10:43 am
edilsonfl
(@edilsonfl)
Posts: 227
Estimable Member
 

Já tentou o parâmetro "local":

Veja explicação detalhada em https://msdn.microsoft.com/pt-br/librar ... 41185.aspx

expressão.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

Local | Opcional | Variant |
True salva arquivos no idioma do Microsoft Excel (incluindo as configurações do painel de controle). False (padrão) salva arquivos no idioma do Visual Basic for Applications (VBA) (que normalmente será Inglês (Estados Unidos), a menos que o projeto VBA de onde Workbooks.Open é executado seja um antigo projeto internacionalizado do VBA XL5/95).

Quando ajuda for útil dê um clique na mãozinha, isso atribui ponto ao colaborador.

 
Postado : 08/04/2016 8:55 pm
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Já tentou o parâmetro "local":

Veja explicação detalhada em https://msdn.microsoft.com/pt-br/librar ... 41185.aspx

expressão.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

Local | Opcional | Variant |
True salva arquivos no idioma do Microsoft Excel (incluindo as configurações do painel de controle). False (padrão) salva arquivos no idioma do Visual Basic for Applications (VBA) (que normalmente será Inglês (Estados Unidos), a menos que o projeto VBA de onde Workbooks.Open é executado seja um antigo projeto internacionalizado do VBA XL5/95).

Olá Edilson,

Testei isso agora e também não funcionou.

realmente pesquisei tudo oque pude, e não achei solução para isso, :?

 
Postado : 13/04/2016 6:01 am