Insertar texto a partir de una lista desplegable

Me ha vuelto a surgir una duda, cuestión, si se pudiera hacer

Al seleccionar en un menú desplegable como aparece en la imagen la opción mixta

Si pudiese aparecer al lado solo al seleccionar lo de mixta que lo tengo en otra hoja de mi libro

Lo de horas on-line y presenciales, en la hoja principal, imagen 1

2 Respuestas

Respuesta
1

En el objeto HOJA donde tengas ese formato colocá este código:

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
If Target.Address(False, False) = "E14" Then
    If Target.Value = "mixta" Then
        [F17] = Sheets("Hoja1").[C2]
        [H17] = Sheets("Hoja1").[E2]
    Else 'opcional: limpiar la celda
        Range("F17", "H17").ClearContents
    End If
End If
End Sub

Ajusta el nombre de la segunda hoja que aparece aquí como 'Hoja1'.

Buenas tardes

lo que me has mandado no funciona, la "hoja1" yo la tengo puesta como "modalidad" el desplegable es en "datos" es un desplegable validando datos de la hoja " datos" a "modalidad", según pones el objeto lo tendría que poner en "datos" 

esta de arriba es "datos", el desplegable es una validación de datos a "modalidad" ( no se hacerlo de otro modo )

esta de arriba es "modalidad" quiero que me aparezca de B2 a E2 en la hoja "datos" a partir de  H14

muchas gracias

No. Lo que te he enviado SI funciona... solo que no lo has sabido ajustar a tu modelo.

Si no dejan los nombres de las hojas ponemos imaginación y esperamos que Uds ajusten en esas instrucciones. Mi hoja de ejemplo se llama Hoja1 y la tuya modalidad... y entonces solo tenías que ajustar en el código.

En el objeto HOJA donde tengas ese formato colocá este código:... y ese objeto es la hoja Datos... por lo tanto entonces coloca allí el código.

Ajustado quedaría así:

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
If Target.Address(False, False) = "E14" Then
    If Target.Value = "mixta" Then
'ubicar en las celdas hacia derecha o hacia abajo????
        [H14] = Sheets("modalidad").[B2]     
        [H15] = Sheets("modalidad").[C2]
        'completar 
    Else 'opcional: limpiar las celdas de col H
    End If
End If
End Sub

Ahora, antes de probarlo fijate que nuevamente tendrás que ajustar un detalle. ¿Qué significa 'a partir de H14'..... hacia derecha o hacia abajo??

Entonces si es hacia abajo sería [H14] luego [H15] y debes completar las otras líneas hasta [H17] donde estarás enviando el contenido de B2, C2, D2 y E2.

Y en este caso la limpieza se hará con esta instrucción:

Range("H14:H17"). ClearContents 'si se rellenó hacia abajo

En cambio si vas a colocar los datos hacia derecha, sería:

[H14] , luego [I14] .... así hasta [K14] y la limpieza (que es opcional) será:

Range("H14:K14"). ClearContents

Sdos!

Respuesta
1

Esto puede agregar algo más

https://youtu.be/UZLgcJ7gQTE

https://youtu.be/1878WZLqU4M

Visita https://programarexcel.com  descarga cientos de ejemplos de macros gratis✋👉⏩⏩ SUSCRIBE https://www.youtube.com/c/programarexcel?sub_confirmation=1 ✋👈⏪⏪ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas