FORMATACAO DADOS EXCELL

 Tópico anterior Próximo tópico Novo tópico

FORMATACAO DADOS EXCELL

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#320141 - 18/08/2009 12:38:21

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Bom Dia a todos.

Estou utilizando o seguinte código:


Public Sub suLerArquivoExcel(ByVal vArquivo As String)
Dim objWorkbook As Excel.Workbook
Dim objWorkSheet As Excel.Worksheet
Dim objRow As Excel.Range

    objExcel.Visible = False

    Set objWorkbook = objExcel.Workbooks.Open(vArquivo, 0, True)

    For Each objWorkSheet In objWorkbook.Worksheets
        Dim intSair As Integer     'Utilizado para sair do excel caso tenha 3 linhas em branco para nao ler as 65000 linhas
        Dim intLinhas As Integer  'Registra a qtde de linhas lidas
        Dim intColunas As Integer 'Registra a qtde de colunas por tipo de documento
        Dim arrColunas() As String  'Registra o nome das colunas
        Dim intRegistros As Integer 'Qtde de registros inseridos

        intSair = 0
        intLinhas = 1
        intColunas = 0
        intRegistros = 0

        ReDim arrColunas(99)
        
        For Each objRow In objWorkSheet.Rows
            If objRow.Cells(1).Text = "" Then
                ReDim arrColunas(99)
                intColunas = 0
                intSair = intSair + 1
            Else
                intSair = 0
                'Pega a Quantidade de colunas do Tipo de Documento
                Dim objColuna As Excel.Range
                Dim intSairColuna As Integer
                ReDim arrColunas(99)
                
                intSairColuna = 0
                intColunas = 0
    
                For Each objColuna In objRow.Cells
                    If objColuna.Text = "" Then
                        intSairColuna = intSairColuna + 1
                    Else
                        intSairColuna = 0
                    End If
                    intColunas = intColunas + 1
                    'objColuna.FormatConditions = adDouble
                    
                    If intColunas = 18 Then
                        ?????????????????????
                    End If
                    
                    arrColunas(intColunas) = objColuna.Text
    
                    If intSairColuna = 3 Then Exit For
                Next
                intColunas = intColunas - 3
    
                ReDim Preserve arrColunas(intColunas)
            End If
            intLinhas = intLinhas + 1

            If intSair = 3 Then Exit For
            DoEvents
        Next
        intLinhas = intLinhas - 3
    Next

    objWorkbook.Close
    objExcel.Quit
End Sub



No código, onde está o caracter ?????????? preciso fazer com que a coluna 18 perca a formatação de TEXTO e fique como NUMERO.
Pois se eu pegar o valor que esta no TEXTO da planilha, ele virá com aqueles numeros HEXADECIMAL que o EXCELL adora gerar.
Se eu jogar o valor pra uma variável do tipo DOUBLE, o valor não irá bater com o que está na planilha.....
Eu preciso é "simular" (via código) nesta coluna, a formatação dos dados para o tipo NUMERICO do EXCELL mesmo. Como vou fazer isso????? Alguém me ajuda????

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#320143 - 18/08/2009 13:01:20

IRENKO
BELO HORIZONTE
Cadast. em:Janeiro/2005


Creio q vc deve formatar assim:

NumberFormat = "0.00"



#320144 - 18/08/2009 13:04:18

IRENKO
BELO HORIZONTE
Cadast. em:Janeiro/2005


Ou assim:

Dim Linha

Linha = 1

SuaPlanilha.Range("A" & Linha ).NumberFormat = "0.00"



Resposta escolhida #320150 - 18/08/2009 13:46:55

IRENKO
BELO HORIZONTE
Cadast. em:Janeiro/2005


Ou ainda:

dim Delta

Plan6.Range("A" & Linha) = Format(Delta, "#,##0.00")


Bom, esses exemplos eu uso para transferir dados de um objeto no form para planilha ou de um banco para planilha. Veja bem, isso em VBA.



#320153 - 18/08/2009 13:56:27

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


IRENKO, Muito Obrigado....

Funcionou perfeitamente o que eu queria/precisava.

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LCSD em 18/08/2009 13:56:51