Este check esta en un formulario
Private Sub CheckBox3_Click()
If CheckBox3 Then
TextBox4.ForeColor = vbRed
TextBox4.Font.Bold = True
Else
TextBox4.ForeColor = &H80000008
TextBox4.Font.Bold = False
End If
End Sub
Para que al marcar el CheckBox3, el texto del TextBox4 sea exportado y pegado en determinada celda
Quiero que al exportar, pegue en la celda el contenido del TextBox4 del mismo color que esta en el TextBox4 (rojo en el caso del CheckBox4)
El codigo del evento de insercion es
Cells(u, "B") = TextBox1 'Item #
Cells(u, "C") = TextBox2 'Producto #
Cells(u, "D") = TextBox3 'Descripcion del Producto
Cells(u, "J") = Val(TextBox4) 'Cant. 'ESTE TEXTBOX MARCANDO EL CHECKBOX3, TIENE QUE EXPORTAR EL TEXTO A ROJO NEGRITA EN LA CELDA DE LA HOJA
Cells(u, "K") = TextBox5 'Pagina #
Si el CheckBox4 esta marcado el Texto del TextBox4 es rojo
Quiero que ese texto del TextBox4 sea exportado hacia la celda en el mismo color que esta en el TextBox4 (rojo). ¿Como hacer? porque me lo esta haciendo en negro normal apersa rde que en el TextBox4 se ve rojo y negrita
Claro, lo que estás haciendo es copiar el valor. No hay manera de mantener el formato de un textbox al copiarlo a una celda (hasta donde yo sé)
Lo que yo haría es, después de la línea de copiar el valor del TextBox4, añadir una comprobación. Algo así como:
If TextBox4.ForeColor = vbRed then
Cells(u, "J").Font.Color = vbRed
Cells(u, "J").Font.Bold = true
else
Cells(u, "J").Font.Color = &H80000008
Cells(u, "J").Font.Bold = false
end if
Un saludo
Cron, como estas amigo
Tengo que preguntarte; ¿ y cuando este insertando en la 2ª pagina? que tien que insertar en la columna U y no en la J.
La J es en la 1ª pagina, no se si observaste las macros (codigo) donde esta el evento del CheckBox3 y que el codigo esta para que inserte en la pagina 1 hasta la fila 46 y luego inserta en la pagina 2 si la C46 ya esta ocupada.
Dejo el nuevo libro y com oesta funcionando ya con alguna alteracion principalmente en el evento cmbInsertar_Click()
En este codigo un comentaio que dice: Cells(u, "J") = Val(TextBox4) 'Cant. QUIERO QUE EXPORTE EN ROJO SU CONTENIDO HACIA LA CELDA _
SOLO CUANDO MARQUE EL CHECKBOX3
ATENCION:
Mi idea de que el contenidfo del textBox4 fuera en rojo y negrita, es solo para algunas celdas que yo pretenda, no todas, y por eso fue que le agregue un CheckBox para cuando lo marque me exporta en rojo y negrita y cuando este desmarcado en color normal sin Bold
Dentro del ZIP esta tambien una imagen del error que me manda con tu codigo
Hola, Joao
Es lo mismo. Repite el código que te puse, solo que en vez de Cells(u, "J"), debes poner Cells(u, "U") en el caso de la segunda columna.
Ahora que reviso mi respuesta previa, también puedes comprobar, en vez del color del textbox4, si está marcado el checkbox 3
Un saludo
Hola Cron
Decidi esto en el codigo del CheckBox3
Private Sub CheckBox3_Click()
If CheckBox3 Then
With TextBox4
.ForeColor = vbRed
.Font.Bold = True
'ATENCION
'VERIFICAR EL CODIGO DE INSERCION EN EL EVENTO Private Sub cmbInsertar_Click() EN LA RUTNA 'INSERTAR PRODUCTO
'AQUI CODIGO PARA DAR FORMATO a la celda Cells(u, "J") = Val(TextBox4) DE TEXTO COLOR ROJO Y TEXTO NEGRITA A LA CELDA
' o a la segun este en la pagina 1 o pagina 2 (OJO no hoja y si pagina)
'AQUI CODIGO PARA DAR FORMATO a la celda Cells(u, "U") = Val(TextBox4) DE TEXTO COLOR ROJO Y TEXTO NEGRITA A LA CELDA
Else
With TextBox4
.ForeColor = &H80000008
.Font.Bold = False
'ATENCION
'VERIFICAR EL CODIGO DE INSERCION EN EL EVENTO Private Sub cmbInsertar_Click() EN LA RUTNA 'INSERTAR PRODUCTO
'AQUI CODIGO PARA DAR FORMATO a la celda Cells(u, "U") = Val(TextBox4) DE TEXTO COLOR normal Y TEXTO normal A LA CELDA
' o a la segun este en la pagina 1 o pagina 2 (OJO no hoja y si pagina)
'AQUI CODIGO PARA DAR FORMATO a la celda Cells(u, "U") = Val(TextBox4) DE TEXTO COLOR normal Y TEXTO normal A LA CELDA
End With
End If
End Sub
dejo nuevo ejemplo
Yo lo pondría dentro de la función
Private Sub cmbInsertar_Click()
[....]
'INSERTAR PRODUCTO
u = Range("B" & Rows.Count).End(xlUp).Row + 1
End If
If Range("c46") = "" Then
Call Check3
Cells(u, "B") = TextBox1 'Item #
Cells(u, "C") = TextBox2 'Producto #
Cells(u, "D") = TextBox3 'Descripcion del Producto
Cells(u, "J") = Val(TextBox4) 'Cant
AQUÍ LE DICES QUE LA CELDA (u, "J") se ponga en negrita y en rojo <----------------------------------
Cells(u, "K") = TextBox5 'Pagina #
Else 'Si encuentra la 1ª pagina llena pasa a la 2ª
Call Check3
u = Range("m" & Rows.Count).End(xlUp).Row + 1
Cells(u, "M") = TextBox1 'Item #
Cells(u, "N") = TextBox2 'Producto #
Cells(u, "O") = TextBox3 'Descripcion del Producto
Cells(u, "U") = Val(TextBox4) 'Cant.
AQUÍ LE DICES QUE LA CELDA (u, "J") se ponga en negrita y en rojo <----------------------------------
Cells(u, "V") = TextBox5 'Pagina #
End If
Saludos
Hola Cron
Consegui esta linea por la web perdida y la recogi jejejej
If CheckBox3 Then Cells(u, "U").Font.ColorIndex = 3
La coloque en ese mismo codigo del evento cmbinsertar y listo
Solo cambie la J por la U en la rutina de abajo
Muchas gracias por su tiempo y colaboracion
Se puede cerrar el tema
RESUELTO