Elizeu, antes de testar a rotina abaixo, veja que em seu modelo nas colunas que citou temos Valores "texto" em algumas celulas e com certeza terá erro em suas formulas, de uma olhada antes nas celulas :
E3 - temos "Números('textos') já convertidos!"
H22 - "SUNNY PUTNEY"
são só alguma celulas, existem outras, então como disse isto irá causar erro nas formulas.
Coloque a rotina abaixo em um módulo e execute, faça um backup antes de testar.
Sub ConverteCentraliza()
Dim eRng As Range
Dim hRng As Range
Dim oRng As Range
Dim c
Dim ultLin
Dim ws As Worksheet
Set ws = Worksheets("MB51")
'Captamos a última linha na Coluna A
ultLin = ws.Range("A" & Rows.Count).End(xlUp).Row
'Definimos os Ranges até a ultima linha
Set eRng = ws.Range("E2" & ":" & "E" & ultLin)
Set hRng = ws.Range("H2" & ":" & "H" & ultLin)
Set oRng = ws.Range("O2" & ":" & "O" & ultLin)
Dim uRng As Range: Set uRng = Union(eRng, hRng, oRng)
If uRng.Areas.Count > 1 Then
For Each c In uRng
'Converte para numericos
On Error Resume Next
c.Offset.Value = CDbl(c.Value)
c.NumberFormat = "#,##0"
Next
Else
MsgBox "Ranges vazios"
End If
'Centraliza as colunas
ws.Range("E:E,H:H,O:O").HorizontalAlignment = xlCenter
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 05/08/2016 8:51 am