Dónde pongo el código de formato de texto?

Tengo un código para pasar los datos del UserForm a un excel pero se me pasan con el formato de la fila que tengo arriba, ¿en qué lugar pongo el código para darle formato a mi texto? Porque donde lo he puesto, sigue usando el formato de la fila de arriba.

Gracias!

Private Sub CommandButton1_Click()
'Actualizar inventario
If Cbcatalogo.Text = "" Then
MsgBox ("No se han registrado datos")
Exit Sub
End If

a = Lista.ListIndex
If a = -1 Then
MsgBox "Debes seleccionar un dato del listbox"
Exit Sub
End If

With Sheets("Inventario (almacén)")
.Rows("8:8").Insert Shift:=xlUp
.Rows("8:8").Interior.Pattern = xINone
.Range("A8").Value = Lista.List(a, 0)
.Range("B8").Value = Lista.List(a, 1)
.Range("D8").Value = Lista.List(a, 2)
.Range("C8").Value = Lista.List(a, 4)
.Range("E8").Value = Lista.List(a, 5)
.Range("F8").Value = Lista.List(a, 6)
.Range("H8").Value = Lista.List(a, 7)
.Range("G8").Value = Txtpresentacion.Text
.Range("K8").Value = Txtcantidad.Text
.Range("L8").Value = Txtlote.Text
.Range("M8").Value = Txtcaducidad.Text
.Range("N8").Value = Txtllegada.Text
.Range("P8").Value = Txtmin.Text

If Ob1alm.Value = True Then
Sheets("Inventario (almacén)").Range("O8").Value = "15 días"
Else
End If
If Ob2alm.Value = True Then
Sheets("Inventario (almacén)").Range("O8").Value = "1 Mes"
Else
End If
If Ob3alm.Value = True Then
Sheets("Inventario (almacén)").Range("O8").Value = "2 Meses"
Else
End If
If Obotroalm.Value = True Then
Sheets("Inventario (almacén)").Range("O8").Value = Txtotroalm.Text
Else
End If
End With
'FORMATO
Range("A8:P8").Select
Selection.Font.Bold = False
Selection.Font.Italic = False
Range("H8:J8").Select
Selection.NumberFormat = "$#,##0.00"
Range("M8:N8").Select
Selection.NumberFormat = "m/d/yyyy"
Range("R9").Select
Selection.Copy
Range("R8").Select
ActiveSheet.Paste
'Guardar
ActiveWorkbook.Save
MsgBox "Se registró el producto"
Sheets("Inventario (almacén)").Select

End Sub

2 Respuestas

Respuesta
1

Cuando insertas la nueva línea copia los formatos de la fila de arriba.

Cambia esta línea:

.Rows("8:8").Insert Shift:=xlUp

Por esta:

.Rows("8:8").Insert Shift:=xlUp, CopyOrigin:=xlFormatFromRightOrBelow

Prueba nuevamente y me comentas.

Respuesta
1

Esto te puede aportar algo más

Estos son formularios que ingresan datos a excel fijate como trabajan

https://youtu.be/gqZzSfikEYY

https://youtu.be/smL4A-aRjCM

Estos ejemplos trabajan con formato fijate el que más se adapte

https://youtu.be/lG79QDIuz4w

https://youtu.be/kzRMbRgwsxU

https://youtu.be/usb26w8SwYk

https://youtu.be/fHILRedTLRI

https://youtu.be/ikKJ9VzM9VQ

https://youtu.be/967TjyqRixQ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas