FORMATACAO DADOS EXCELL

LCSD 18/08/2009 12:38:21
#320141
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????
IRENKO 18/08/2009 13:01:20
#320143
Creio q vc deve formatar assim:

NumberFormat = [Ô]0.00[Ô]
IRENKO 18/08/2009 13:04:18
#320144
Ou assim:

Dim Linha

Linha = 1

SuaPlanilha.Range([Ô]A[Ô] & Linha ).NumberFormat = [Ô]0.00[Ô]
IRENKO 18/08/2009 13:46:55
#320150
Resposta escolhida
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.
LCSD 18/08/2009 13:56:27
#320153
IRENKO, Muito Obrigado....

Funcionou perfeitamente o que eu queria/precisava.
Tópico encerrado , respostas não são mais permitidas