El problema se me planteaba cuando tenia que presentar en varias lineas datos en la terminal y por las distintas longitudes de los datos presentados, no se veia bien y dificultaban su lectura/comprobacion:
Por ejemplo:
Mes[ 1 ]= 10 euros
Mes[ 2 ]= 1000.23 euros
Mes[ 3 ]= 78.3 euros
Mes[ 2 ]= 1000.23 euros
Mes[ 3 ]= 78.3 euros
Como veis, esto seria el resultado de un codigo como sigue:
Con la función que he hecho, saldrian tabulados, y con puntos entre los textos:
El codigo de la captura de pantalla anterior seria:
Print "Cantidades Objetivo...."
Print PresentarDatosNumericosConPuntos(60, "PEM:", Format(pemsuma, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Gastos Generales [PEM X %GG (" & PorGG & ")]:", Format(GastosGenerales, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Beneficio Industrial [PEM X %BI (" & PorBI & ")]:", Format(GastosBI, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Presupuesto(pem + gg+ bi):", Format(PresupuestoPEMmasGGmasBI, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "IVA (" & PorIVA & "): ", Format(GastosIVA, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Presupuesto Por Ejecucion Contrata:", Format(GastosPorEjecucionContrata, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "PEM:", Format(pemsuma, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Gastos Generales [PEM X %GG (" & PorGG & ")]:", Format(GastosGenerales, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Beneficio Industrial [PEM X %BI (" & PorBI & ")]:", Format(GastosBI, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Presupuesto(pem + gg+ bi):", Format(PresupuestoPEMmasGGmasBI, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "IVA (" & PorIVA & "): ", Format(GastosIVA, "$,#.###"), ".")
Print PresentarDatosNumericosConPuntos(60, "Presupuesto Por Ejecucion Contrata:", Format(GastosPorEjecucionContrata, "$,#.###"), ".")
Nota:
El valor "60", indica la longitud de la linea que se va a mostrar en la linea de terminal (texto,puntos y numero formateado)
El codigo de la función es el siguiente:
Public Function PresentarDatosNumericosConPuntos(numeroPuntos As Integer, Texto As String, DatoFormateado As String, Optional caracter As String) As String
Dim cadena As String
Dim espacios As String
Try espacios = Space$(numeroPuntos - String.Len(texto) - String.Len(DatoFormateado))
If Error Then
'es posible que el numeroPuntos se quede corto, con respecto a la longitud del mensaje y el dato formateado.
'por ejemplo que se inique valor 10, cuando la longitud del texto sea 8 y el dato formateado sea 10, por lo tanto, no se pueden adjuntar caracteres
Return texto & DatoFormateado
Endif
If IsNull(caracter) Then
cadena = texto & espacios & DatoFormateado
Else
cadena = texto & Replace(espacios, " ", caracter) & DatoFormateado
Endif
Return cadena
End
Dim cadena As String
Dim espacios As String
Try espacios = Space$(numeroPuntos - String.Len(texto) - String.Len(DatoFormateado))
If Error Then
'es posible que el numeroPuntos se quede corto, con respecto a la longitud del mensaje y el dato formateado.
'por ejemplo que se inique valor 10, cuando la longitud del texto sea 8 y el dato formateado sea 10, por lo tanto, no se pueden adjuntar caracteres
Return texto & DatoFormateado
Endif
If IsNull(caracter) Then
cadena = texto & espacios & DatoFormateado
Else
cadena = texto & Replace(espacios, " ", caracter) & DatoFormateado
Endif
Return cadena
End
Espero que os sea útil.
Saludos
Julio