Fíjate en esto y haz algo parecido pero nop para formatear sino para extraer el contenido:
Dim ifor As Integer
Dim jFor As Integer
Dim Filas_Consulta As Integer
Dim i As Integer
Filas_Consulta = msh.Rows - 1
prog1.Min = 1
prog1.Max = (msh.Rows) * (msh.Cols) + 1
prog1.Value = 1
msh3.Visible = False
With msh
msh0.Visible = False
.ColWidth(0) = 3900
.ColWidth(1) = 2500
.ColWidth(2) = 1000
.ColWidth(4) = 1300
.ColWidth(5) = 1300
.ColWidth(3) = 1400
.Width = 11630
.Height = 3480 - 200
.Left = (Me.Width \ 2) - (.Width \ 2)
.Row = 0
.col = 0
.CellFontBold = True
'.Row = auxRow
For ifor = 0 To .Rows - 1
For jFor = 1 To .Cols - 1
.Row = ifor
.col = jFor
.CellAlignment = 6
.CellFontBold = True
'If InStr(1, .Text, ",") <> 0 Then
If porcentaje Then
.Text = Format(.Text, "#,##0.00")
ElseIf porcentaje1 Then
.Text = Format(.Text, "#,##0.000")
Else
.Text = Format(.Text, "#,##0")
End If
'End If
prog1.Value = prog1.Value + 1
Next
Next
End With