Jump to content
lphant

Unir 2 celdas en una con diferente color

Recommended Posts

Buenas tardes;

Como podria hacer esto ( con fomula o con macro ).

Quiero concatenar ( unir 2 celdas en una ) pero que en la celda de unión aparezca diferenciado por 2 colores.

Me podeis ayudar??.

Gracias a to@s.

Libro1.xlsx

Share this post


Link to post
Share on other sites

Con esta macro en la hoja, cada vez que modifiques alguna celda del rango A:B, se realizará la acción requerida en la consulta.

Private Sub Worksheet_Change(ByVal Target As Range): 'On Error Resume Next
Application.EnableEvents = False
If Not Intersect(Range("A:B"), Target) Is Nothing Then
   Range("C" & Target.Row) = Range("A" & Target.Row) & " " & Range("B" & Target.Row)
   Range("C" & Target.Row).Characters(1, Len(Range("A" & Target.Row))).Font.Color = vbBlue
   Range("C" & Target.Row).Characters(Len(Range("A" & Target.Row)) + 2, Len(Range("B" & Target.Row))).Font.Color = vbRed
End If
Application.EnableEvents = True
End Sub

 

Libro1 (4).xlsm

Share this post


Link to post
Share on other sites
Hace 32 minutos , Macro Antonio dijo:

Con esta macro en la hoja, cada vez que modifiques alguna celda del rango A:B, se realizará la acción requerida en la consulta.


Private Sub Worksheet_Change(ByVal Target As Range): 'On Error Resume Next
Application.EnableEvents = False
If Not Intersect(Range("A:B"), Target) Is Nothing Then
   Range("C" & Target.Row) = Range("A" & Target.Row) & " " & Range("B" & Target.Row)
   Range("C" & Target.Row).Characters(1, Len(Range("A" & Target.Row))).Font.Color = vbBlue
   Range("C" & Target.Row).Characters(Len(Range("A" & Target.Row)) + 2, Len(Range("B" & Target.Row))).Font.Color = vbRed
End If
Application.EnableEvents = True
End Sub

 

Libro1 (4).xlsm

Muchas gracias Macro Antonio, funciona perfectamente.

Se podria poner con un boton en vez de automatico??.

un saludo,

Share this post


Link to post
Share on other sites
En ‎10‎/‎05‎/‎2017 at 15:49 , Mauricio_ODN dijo:

Haber mi Estimado dejo el archivo como pides, hechando mano del codigo de Maestro @Macro Antonio(Saludos Maestro).

Particularmente a mi me gustaba más le diseño inicial, Saludos!!

Libro1 (4).xlsm

gracias mauricio_odn, a mi tambien me gustaba el codigo de MAcro Antonio, la unica pega que los datos ya los tengo en la columna A y B.

muchas gracias a los 2.

ahora mismo lo pruebo.

un saludo,

Share this post


Link to post
Share on other sites

buenas tardes;

despues de probarlo un rato he visto he detectado un problema.

hay veces que tengo mas celdas con datos en la columna B que en la A y no me pone lo de la B.

como podria solucionarlo??.

gracias a tod@s

Share this post


Link to post
Share on other sites
Private Sub JuntarConColores(): On Error Resume Next
Application.EnableEvents = False
If Range("A" & Rows.Count).End(xlUp).Row > _
   Range("B" & Rows.Count).End(xlUp).Row Then
   uf = Range("A" & Rows.Count).End(xlUp).Row
Else
   uf = Range("B" & Rows.Count).End(xlUp).Row
End If
For x = 1 To uf
   Range("C" & x) = Range("A" & x) & " " & Range("B" & x)
   Range("C" & x).Characters(1, Len(Range("A" & x))).Font.Color = vbBlue
   Range("C" & x).Characters(Len(Range("A" & x)) + 2, Len(Range("B" & x))).Font.Color = vbRed
Next
Application.EnableEvents = True
End Sub

 

Share this post


Link to post
Share on other sites
Hace 15 horas, Macro Antonio dijo:

Private Sub JuntarConColores(): On Error Resume Next
Application.EnableEvents = False
If Range("A" & Rows.Count).End(xlUp).Row > _
   Range("B" & Rows.Count).End(xlUp).Row Then
   uf = Range("A" & Rows.Count).End(xlUp).Row
Else
   uf = Range("B" & Rows.Count).End(xlUp).Row
End If
For x = 1 To uf
   Range("C" & x) = Range("A" & x) & " " & Range("B" & x)
   Range("C" & x).Characters(1, Len(Range("A" & x))).Font.Color = vbBlue
   Range("C" & x).Characters(Len(Range("A" & x)) + 2, Len(Range("B" & x))).Font.Color = vbRed
Next
Application.EnableEvents = True
End Sub

 

buenos dias;

Muchas gracias Macro Antonio, funciona perfectamente.

tema solucionado.

un saludo,

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Tu mismo, pero tu código es inmanejable. Así es como lo haría yo. La hoja Paises puedes ocultarla. Nacionalizar.xlsm
    • Hola A todos Espero estén muy bien. Recurro una vez mas a uds con lo siguiente: Para calculo de día semana del mes, buscando encontré lo siguiente: =NUM.DE.SEMANA(B2;2)-NUM.DE.SEMANA(FIN.MES(B2;-1)+1;2)+1 Siendo B2, la celda que contiene la fecha. Ahora mi tema es que quiero obtener el resultado dado por esta función en vba. Adjunto un pequeño ejemplo.   Saludos Cordiales Pedro ejemplo.xlsm
    • Que sorpresa!!! Gracias por el detalle ,..Excelente,. otro código otro estilo, igual creas un área auxiliar,  pero si es una hoja..... Worksheets("aux") no veo donde la creas ni donde la eliminas simplemente no existe en los libros se ejecuta tan rápido que el libro origen prácticamente provee los datos como sin abrirlo. Resize un código interesante. Gracias por tu apoyo
    • Hola de nuevo @viejo acorde a lo que preguntaste Te dejo una alternativa de solución. Nos comentas. Nacionalizar1.1.xlsm
    • Mauricio_ODN te agradezco la colaboración de verdad, la idea que pones en si, sí funciona, pero eso me obligaría a utilizar hojas y celdas y no es lo que quiero, es solo que lo que yo necesito hacer es que el proceso se realice dentro del textbox o a nivel de código y no en la lectura dentro de la hoja, es decir; sin utilizar celdas ni hojas, si no que se haga dentro del textbox el proceso de "reconocimiento" del texto como tal, no se si me doy a explicar. ¿Podrias ayudarme una vez mas con eso, mi estimado experto?. Gracias de antemano  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy