Para que cada dato de la lista desplegable tome un formato distinto, te sugiero lo siguiente. Suponiendo que en la columna G tienes tus nombres de la lista desplegable, entonces en la columna H pon el formato que le corresponde a cada nombre, por ejemplo, revisa la siguiente imagen:
En la columna G tengo los nombres de la lista desplegable, para Oscar tengo el formato %, para Jazmin tengo el formato moneda, para Estefany el formato General.
Entonces, cuando en la columna A selecciones un nombre de la lista desplegable, en automático la macro pondrá el formato correspondiente en la columna B.
Pon la siguiente macro en los eventos de tu hoja
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 1).NumberFormat = "General"
Exit Sub
End If
Set b = Columns("G").Find(Target.Value, lookat:=xlWhole)
If Not b Is Nothing Then
Target.Offset(0, 1).NumberFormat = b.Offset(0, 1).NumberFormat
End If
End If
End Sub
Realiza los siguientes ajustes en la macro
Donde dice Range("A2:A100") cambia el 100 por la última fila con datos que tengas, si es toda la columna, entonces cambia a Range("A:A")
En donde dice Columns("G"), cambia la "G" por la columna donde tienes los nombres de tu lista desplegable.
Si tienes un Nombre para la lista desplegable, entonces cambia esta línea:
Set b = Columns("G").Find(Target.Value, lookat:=xlWhole)
Por esta línea; y cambia "Hoja2" por la hoja donde tienes los datos, cambia "nombres" por el nombre de tu lista.
Set b = Sheets("Hoja2").Range("nombres").Find(Target.Value, lookat:=xlWhole)
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- En el panel del lado derecho copia la macro
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.