Saltar al contenido

Pone coma en ves de punto


ELVERKU

Recommended Posts

publicado

hola amigos por politicas del foro tengo que publicarlo como otro tema estoy trabajando con un listbox que carga los datos que solicito pero dentro de este tengo otro modulo que es el de modificaciones este aparece cuando le das doble click a la linea pero cuando carga los datos en el campo que es el importe (textbox1) pone coma en vez de punto y esto esta ocasionando un error al mandar a imprimir ese listado,les solicito de su experiencia para poder corregir este detalle, que cabe bien mencionarlo nuestro amigo pajuma me ayudo en ello, adjunto el macro completo

Este es el archivo:

Private Sub CommandButton1_Click()

Dim m As String

m = MsgBox("Desea Guardar Las Modificaciones efectuadas?", vbYesNo + vbQuestion, "Aviso")

If m = 6 Then

Dim npr As Long

npr = TurboFiltroUserform_GP.ListBox1.ListIndex + 1

Hoja2.Cells(npr, 1) = Me.TextBox5.Value

Hoja2.Cells(npr, 2) = Me.TextBox4.Value

Hoja2.Cells(npr, 3) = Me.TextBox1.Value

Hoja2.Cells(npr, 4) = Me.TextBox2.Value

Hoja2.Cells(npr, 5) = Me.TextBox3.Value

Else

Cancel = True

End If

End Sub

PRUEBA 2.rar

publicado

hola ELVERKU tambien en las normas comenta que hay que etiquetar el codigo para mayor comprension de los foristas

con respecto a tu duda utiliza la función format para obtener el formato deseado

Format(8315.4, "##,##0.00")[/CODE]

ejemplo ahora solo aplicalo a tu necesidad

saludos

publicado

hola asesorcperic muchas gracias por tu tiempo y tu ayuda, ya puse la observacion que me pusiste pero no cambia en nada siempre me sigue asomando la coma

saludos

Elverku

publicado

verifica tu configuracion regional pero

yo en la mia utilizo la coma como separador decimal y trabaja perfecto

tu tienes esto y corre perfecto

Sub calc()
Dim i, tot As Double
For i = 0 To ListBox1.ListCount - 1 'ajustar nbre del control ListBox
tot = tot + Val(ListBox1.List(i, 2)) 'ajustar nbre y nro de col, aquí el 2 representa la 3er col
Next i
TextBox1 = Format(tot, "$ ###00,00.00")
End Sub[/CODE]

publicado

Hola

Estoy revisando también. Pero hay algo que no me cuadra mucho...

El codigo de modificar parece mas bien de registrar y donde llamas el form de modificar? desde el formulario o de una hoja?

M = MsgBox("Desea Guardar Las Modificaciones efectuadas?", vbYesNo + vbQuestion, "Aviso")
If M = 6 Then
npr = TurboFiltroUserform_GP.ListBox1.ListIndex + 1
Hoja2.Cells(npr, 1) = TextBox5.Value[/CODE]

Digo esto porque para hacer una modificacion, el dato a modificar deberia coincidir con una busqueda primeramente para luego asi hacer la modificacion...

publicado

hola amigos antes que nada muchas gracias ASESORCPERIC Y ENIGMA25 por su apoyo se los agradesco mucho

asesorcperic ya estuve checando la configuracion regional y esta correcto de hecho es la primera vez que me marca la coma en vez de punto en todos los macros nunca me habia arrojado el cambio de coma a punto es por eso que no veo donde esta el error ya hize de todo y no lo cambia como dices en el modulo de calc no marco eso y corre perfectamente bien como tu comentas

enigma 25 de hecho el modulo de modificar si lo ves desde ese punto de vista es correcta tu observacion es de registrar ya que cuando se activa el modulo modificar registra el cambio que quiera hacerlo y modifica los datos dentro de la hoja en excel para que cuando vuelva a cargar el dato ya este con el cambio.

ese modulo si has notado solo jala la informacion de esa linea en particular despues de haber cargado los datos de un operador en especifico del listbox ya que como vez cuando buscas la informacion de un operador jala todo lo que hay registrado de todas las semanas cargadas ya que el volumen de informacion por operador es demasiada

como te comente anteriormente tu macro que hiciste en la ayuda anterior esta excelente la verdad me gusto muchisimo solo seria esos dos detallitos que te habia comentado y me ayudarias demasiado y te lo agradesco

asi igual agradesco tu apoyo e interes y la de asesorcperic al igual que a pajuma que gracias a ustedes espero terminar con este pendiente que ya llevo dias rectificandolo de hecho si no se pudiera me daria por bien servido solo la correccion de la coma que aparece que no se cual es el error

saludos

elverku

publicado

.

No usar nunca la función Val para convertir un texto a número, utilizar siempre una función de conversión de tipos (CInt, CCur, CLng, CDbl,.......). La función Val extrae la parte numérica de un texto, no lo convierte a número.

Buscar en la ayuda de VBA: Funciones de conversión de tipo.

Sub calc()
Dim i, tot As Double
For i = 0 To ListBox1.ListCount - 1 'ajustar nbre del control ListBox
tot = tot + CCur(ListBox1.List(i, 2)) 'ajustar nbre y nro de col, aquí el 2 representa la 3er col
Next i
TextBox1 = FormatNumber(tot)
End Sub[/CODE]

.

publicado

hola Macro Antonio muchas gracias por esa observacion y por tu ayuda pero el modulo que estamos checando en un modulo que tengo de modificacion que pone la coma en vez de punto ese modulo que puso asesorcperic lo puso como ejemplo por que carga bien el importe y pone el punto y no me ah dado problemas por eso puso ese como te comente como ejemplo

te explico este modulo carga los datos del listbox de un operador que buscas pero el modulo del textbox1 que es el importe que carga lo pone en coma en vez del punto

el modulo que estamos viendo es este te agradesco tu interes

Private Sub CommandButton1_Click()

Dim m As String

m = MsgBox("Desea Guardar Las Modificaciones efectuadas?", vbYesNo + vbQuestion, "Aviso")

If m = 6 Then

Dim npr As Long

npr = TurboFiltroUserform_GP.ListBox1.ListIndex + 1

Hoja2.Cells(npr, 1) = Me.TextBox5.Value

Hoja2.Cells(npr, 2) = Me.TextBox4.Value

Hoja2.Cells(npr, 3) = Me.TextBox1.Value

Hoja2.Cells(npr, 4) = Me.TextBox2.Value

Hoja2.Cells(npr, 5) = Me.TextBox3.Value

Else

Cancel = True

End If

End Sub

saludos

elverku

publicado

entonces la idea es solo que grabe la modificacion con formato currency osea $ 8,945.27 en el excel???

publicado

@[uSER=29827]ELVERKU[/uSER]

La funcion "Val" es limitada porque solo te devuelve la cadena como valor numérico, pero para manejar esos valores como moneda, puedes cambiar esa linea así:

Hoja2.Cells(npr, 3) = VBA.CCur(Me.TextBox1.Value)[/CODE]

Todo depende que deseas hacer con tus valores para trasladarlos a la hoja, para eso existen varios "convertidores"

Saludos

publicado

aver prueba con esto

Dim m As String
m = MsgBox("Desea Guardar Las Modificaciones efectuadas?", vbYesNo + vbQuestion, "Aviso")
If m = 6 Then
Dim npr As Long
npr = TurboFiltroUserform_GP.ListBox1.ListIndex + 1
Hoja2.Cells(npr, 1) = Me.TextBox5.Value
Hoja2.Cells(npr, 2) = Me.TextBox4.Value
Hoja2.Cells(npr, 3) = Format(Val(TextBox1.Value), "$ ##0,00.00")
Hoja2.Cells(npr, 4) = Me.TextBox2.Value
Hoja2.Cells(npr, 5) = Me.TextBox3.Value
Else
Cancel = True
End If[/CODE]

publicado

Hola amigos antes que nada una disculpa por no contestar y darle seguimiento con anterioridad pero estaba de viaje estuve checando las observacion que hicieron gracias Gerson y Pajuma pero NO corrio como lo esperaba con sus observaciones

maestro Gerson cambie el renglon como lo escribio pero al momento de cambiar el STATUS que realmente es lo que modifico para poner liquidado modifica la linea de los importes y lo coloca de primero borrando el campo que esta ahi, amigo pajuma tu observacion esta puesta en el macro y si respeta el punto cuando guarda la informacion aun cuando cargas el listbox aparece en coma pero cuando quieres modificar otro operador ya no hace el cambio

amigos de verdad es muy complicado y hay que cambiar todo el modulo ???? ya que el objetivo es solo poner liquidado cuando se le da doble click al modulo de modificacion

vuelvo a adjuntar el archivo con la observacion puesta de pajuma

les agrasdesco a todos su ayuda para poder solucionar este tema que ya llevamos dias con esto

saludos

elverku

PRUEBA 2.rar

publicado

hola pajuma si como te comente el archivo si funciona de hecho esta puesto con tu observacion de modificacion pero al guardar la modificacion y al cargar otro operador para modificarlo ya no lo hace y lo mas curioso es que simodificas solo la opcion de STATUS al cambiarlo o ponerle LIQUIDADO modifica igual los importes y no veo relacion alguna

de hecho este tema ya te habia comentado anteriormente ??

amigos que me suegieren cambiar todo ese modulo de modificaciones? tal parece que se soluciona algo y se empeora en otro lado algun maestro que me oriente ??

se los agradesco

saludos

edgar ferraez

publicado

hola pajuma antes que nada muchas gracias por tu interes estuve checando el macro y le hice algunas modificaciones para adaptarlo quedo casi igual al otro solo que hay dos modulos que no corrieron que es el de la impresion y el otro es el de las modificaciones ya que elimina los decimales, primero veamos si podemos hacer el modulo de la impresion, este es el modulo de impresion que no correo

adjunto la macro con las modificaciones ya hechas

Private Sub CommandButton5_Click()

SumI = 0

Worksheets.Add

Cells.Select

Selection.ClearContents

With Range("A65536").End(xlUp)

Dim fila As Integer

For fila = 0 To L.List.ListCount - 1

If L.List.List(fila, 1) <> "" Then

.Offset(fila + 1, 0).Value = .List(.ListIndex, 0)

.Offset(fila + 1, 1).Value = .List(.ListIndex, 1)

.Offset(fila + 1, 2).Value = .List(.ListIndex, 2)

.Offset(fila + 1, 3).Value = .List(.ListIndex, 3)

.Offset(fila + 1, 4).Value = .List(.ListIndex, 4)

Else

Exit For

End If

Next

Lin = 3

Do While .Cells(Lin, 1) <> ""

SumI = SumI + .Cells(Lin, 3)

Lin = Lin + 1

Loop

.Range("b" & fila + 2) = "Gran total :"

.Range("C" & fila + 2) = SumI

End With

End Sub

saludos

Elverku

OPERADOR-1.rar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.