Saltar al contenido

Listas desplegables con formatos múltiples (con control SpreadSheet)


R0CI0

Recommended Posts

Saludos a todos.

Estoy continuando el post ( https://www.ayudaexcel.com/foro/macros-programacion-vba/20306-pendiente-formatos-diferentes-cuadro-combinado-combobox.html ) donde pregunté por una lista desplegable o un combobox en el que se pudieran asignar distintos formatos a cada una de las líneas.

Macro Antonio me contestó que ésto no se podía hacer con los combobox, pero que consultara otro post que había empezado él sobre cómo utilizar la función SpreadSheet (que hay que descargarse aparte, consultar ese post: https://www.ayudaexcel.com/foro/ideas-aportes/20517-listas-validacion-multiples-columnas-fuentes-colores.html ).

Por cierto, muchisimas gracias por tu ayuda Macro Antonio.

Ésta función (SpreadSheet 11.0) crea una ventana a un libro entero paralelo, en el que podemos editar lo que queramos y proporcionarle aspecto de lista desplegable.

Ahora tengo varias dudas surgidas a partir del magnífico archivo que subió para explicar la función:

- Cómo se vincula una seleccion realizada en el SpreadSheet con una celda?

- Cómo se consigue que sólo aparezca en el caso de seleccionar una celda de la columna F?

- Se puede bloquear una línea para que no se pueda seleccionar? (hacer que los titulos y subtitulos no se puedan seleccionar, solo los de tercer nivel)

- Y otra también muy importante... se pueden vincular las celdas del SpreadSheet con celdas en otras hojas del archivo de origen?

Adjunto el archivo donde estaba trabajando y donde quería adaptar el control SpreadSheet, pero lo que más quiero es aprender cómo se hace y como hacer modificaciones. Supongo que irá todo por código.

Es un archivo de gastos personales que estoy realizando porque los que he encontrado en internet no estaban muy desglosados, y que cuando termine lo colgaré en aportes, por si a alguien le sirve o lo decide mejorar (acepto criticas e ideas de mejoras).

Donde quiero insertar las listas SpreadSheet es en la hoja G_ENERO, en la columna correpondiente con "Tipo de gasto", y quiero que aparezca la lista escrita en la hoja LISTA_GASTOS, para que si modifico algún dato en esa hoja también lo haga el contenido del SpreadSheet (procuro siempre separar mucho los datos para editarlos mejor en el futuro, pequeñas manías). Eso es lo que no se si se puede hacer o no, y que he preguntado un poco mas arriba.

La verdad es que nunca dejo de sorprenderme de la cantidad de cosas que permite hacer el excel, y eso que todavía no sé nada, y sobre todo de todo lo que estoy aprendiendo en este foro, es íncreible la ayuda que nos prestáis los expertos!!

Muchas gracias por todo!!

Un saludo, y Felices Fiestas!!

2011_CUENTAS_CASA.rar

Enlace a comentario
Compartir con otras webs

Hola:

Una vez analizado ligeramente lo que persigues he llegado a la conclusión de que no es el mejor sistema poner el spread en la hoja.

Dado que todo el montaje va a través de código VBA y que vas a tener una hoja por cada mes,l creo que la mejor opción es pasar el spread a un formulario VBA.

Intuyo por tus comentarios que no dominas en exceso el tema de programación en Visual Basic, por lo que he realizado un pequeño formulario que creo va a permitirte solucionar tu problema.

En el adjunto, cada vez que el nombre de la hoja empiece por "G_" y selecciones una celda de la columna "B" y una fila mas allá de la 14, siempre que la fila anterior no esté en blanco, se te abrirá un formulario con los conceptos de gasto de la hoja "LISTA_GASTOS" estructurada por nivel de concepto, solo si escoges alguna celda del tercer nivel, dicho concepto pasará a la celda activa.

Saludos, besos y buenas fiestas.

PD: No dudes en consultar lo que no entiendas.

2011_CUENTAS_CASA.zip

Enlace a comentario
Compartir con otras webs

..........

Me he quedado sin palabras al ver el archivo....

Pocos "Me gusta" permite poner el foro. Cuando he leido que se iba a abrir un formulario, estaba un poco recelosa, por si dejaba de ser práctico y sobre todo rápido. Pero lejos de eso, esto es brillante! Sólo se abre la celda que a continuación queda vacía, y se pueden seguir modificando las que ya están editadas! Además en la hoja de la lista se pueden añadir o eliminar filas de la lista, asignandoles un nivel... No se puede pedir más. Práctico, rápido y eficaz.

Como siempre increíble.

Ahora me queda a mí intentar aprender cómo se hace, cosa que veo que me va a costar un quintal... porque la verdad es que no tengo ni idea de VBA, lo poco que puedo modificar y aplicar en sitios nuevos soluciones que me dáis en este foro.

De todas formas, para empezar a comprender todo este sistema, podrías explicarme un poquillo cómo esta organizado?

Muchas gracias por todo!

Un saludo!

Enlace a comentario
Compartir con otras webs

Me acaba de pasar algo peculiar... Cuando seleccionas una celda de la hoja que empieza por "G_" no ocurre nada salvo que elijas una de la columna B a partir de la fila 15 que esté con texto o la siguiente vacía, que entonces aparece el formulario. Sin embargo, cuando seleccionas un rango de celdas de cualquier parte de la hoja, también aparece el formulario, pudiendo hacer una seleccion y dejando el resultado en la primera celda del rango elegido... por qué puede estar pasando esto?

Un saludo.

Enlace a comentario
Compartir con otras webs

Hola:

Se trata de un error de programación de la macro.

Sustituyela en ThisWorkbook (Alt+F11 y doble click en ThisWorkbook) por:


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next

'Descargamos el formulario si está cargado
If Conceptos.Visible = True Then Unload Conceptos


'Nos vamos si hemos seleccionado mas de una celda
If Target.Cells.Count > 1 Then Exit Sub


'Si la hoja empieza por "G_"
If Left(Sh.Name, 2) = "G_" Then

'Si la columna es la B, la celda mas allá de la 14
'y la misma celda de la fila anterior no está vacía
If Target.Column = 2 And _
Target.Row > 14 And _
Target.Offset(-1, 0).Value <> "" Then

'Cargamos el formulario si no está cargado
If Conceptos.Visible = False Then
Conceptos.Show
End If

End If


End If


End Sub
[/CODE]

He recibido tu mensaje, estoy en ello.

Saludos

Enlace a comentario
Compartir con otras webs

  • 10 months later...

Dudas...quien puede ayudarme

Hola quien puede ayudarme....miren mi problema es este...tengo en mi hoja 1:CONTROL DE SOLICITUDES, ciertos datos que a continuacion pongo...claro con su formato

[TABLE]

[TR]

[TD=class: xl136, width: 44]No

[/TD]

[TD=class: xl136, width: 8][/TD]

[TD=class: xl136, width: 93]Región [/TD]

[TD=class: xl136, width: 8][/TD]

[TD=class: xl136, width: 274]Nombre del socio

[/TD]

[TD=class: xl136, width: 8][/TD]

[TD=class: xl136, width: 243]Nombre del aval

[/TD]

[TD=class: xl136, width: 8][/TD]

[TD=class: xl136, width: 193]Nombre del Grupo

[/TD]

[TD=class: xl136, width: 8][/TD]

[TD=class: xl136, width: 121]Supervisor[/TD]

[TD=class: xl136, width: 8]

[/TD]

[TD=class: xl136, width: 160]Promotor[/TD]

[TD=class: xl87, width: 8]

[/TD]

[TD=class: xl88, width: 67]IFE

[/TD]

[TD=class: xl89, width: 8]

[/TD]

[TD=class: xl90, width: 67]Compr. de Dom[/TD]

[TD=class: xl89, width: 8]

[/TD]

[TD=class: xl91, width: 67]IFE Aval

[/TD]

[TD=class: xl87, width: 8][/TD]

[TD=class: xl92, width: 67]Compr. Dom. Aval

[/TD]

[TD=class: xl87, width: 8]

[/TD]

[TD=class: xl93, width: 67]Pagaré[/TD]

[TD=class: xl87, width: 8]

[/TD]

[TD=class: xl92, width: 56]Rep. DE LA 5C

[/TD]

[TD=class: xl87, width: 8][/TD]

[TD=class: xl87, width: 118]TIPO DE PRODUCTO[/TD]

[TD=class: xl87, width: 8]

[/TD]

[TD=class: xl87, width: 121]Plazo[/TD]

[TD=class: xl87, width: 8][/TD]

[TD=class: xl163, width: 96]Monto

[/TD]

[TD=class: xl87, width: 8][/TD]

[TD=class: xl158, width: 83]Recibida

[/TD]

[TD=class: xl158, width: 68]Atendida

[/TD]

[TD=class: xl86, width: 68] Aceptada

[/TD]

[TD=class: xl86, width: 128]Reconsiderada

[/TD]

[TD=class: xl86, width: 83]Rechazada

[/TD]

[TD=class: xl94, width: 891]Observaciones

[/TD]

[TD=width: 180][/TD]

[/TR]

[TR]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137]

[/TD]

[TD=class: xl150]07 de Noviembre 2012

[/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137] [/TD]

[TD=class: xl97] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl95] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl95] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl95] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98]

[/TD]

[TD=class: xl98]

[/TD]

[TD=class: xl95] [/TD]

[TD=class: xl95] [/TD]

[TD=class: xl95] [/TD]

[TD=class: xl95]

[/TD]

[TD=class: xl95]

[/TD]

[TD=class: xl133]

[/TD]

[TD=class: xl95] [/TD]

[TD=class: xl100] [/TD]

[TD=class: xl100] [/TD]

[TD=class: xl97]

[/TD]

[TD=class: xl97] [/TD]

[TD=class: xl97] [/TD]

[TD=class: xl97] [/TD]

[TD][/TD]

[/TR]

[TR]

[TD=class: xl137, align: right]208

[/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137]Mexico

[/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137]Panchito

[/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137]Fulanita

[/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137]Los palcos

[/TD]

[TD=class: xl137] [/TD]

[TD=class: xl137]Malota

[/TD]

[TD=class: xl137]

[/TD]

[TD=class: xl137]Manoel

[/TD]

[TD=class: xl97] [/TD]

[TD=class: xl98]X

[/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98]X[/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98]X[/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98]X[/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98] [/TD]

[TD=class: xl98]X[/TD]

[TD=class: xl95] [/TD]

[TD=class: xl95]Normal[/TD]

[TD=class: xl95] [/TD]

[TD=class: xl95]24 semanas

[/TD]

[TD=class: xl95][/TD]

[TD=class: xl133] $ 00.00

[/TD]

[TD=class: xl95] [/TD]

[TD=class: xl100]X[/TD]

[TD=class: xl100]X[/TD]

[TD=class: xl100]X[/TD]

[TD=class: xl100] [/TD]

[TD=class: xl100]

[/TD]

[TD][/TD]

[/TR]

[/TABLE]

quiero que datos de esta hoja se pegen en automatico en la hoja2:CASOS PRESENTADOS A COMITE, dependiendo la fecha en la que fue recibido la solicitud, este es mi formato para que vean que datos necesito que se peguen en automatico...

[TABLE=width: 2164]

[TR]

[TD=colspan: 3]FECHA: 07 DE Noviembre 2012[/TD]

[TD][/TD]

[TD]ACTA N13

[/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[TR]

[TD=colspan: 19] RELACION DE CASOS PRESENTADOS AL COMITÉ DE CRÉDITO

[/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[TR]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[TR]

[TD]No[/TD]

[TD][/TD]

[TD]Nombre del solicitante

[/TD]

[TD][/TD]

[TD]Grupo de Origen

[/TD]

[TD][/TD]

[TD]Plazo Solicitado[/TD]

[TD] [/TD]

[TD]Plazo autorizado[/TD]

[TD][/TD]

[TD=colspan: 3]Importe[/TD]

[TD] [/TD]

[TD]Nombre de Funcionario que propone[/TD]

[TD][/TD]

[TD]Rechazado[/TD]

[TD][/TD]

[TD]Causa de Rechazo[/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[TR]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD] [/TD]

[TD][/TD]

[TD]Solicitado[/TD]

[TD] [/TD]

[TD]Autorizado[/TD]

[TD] [/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[/TABLE]

Esto como lo mencione dependiendo de la fecha, es decir en el ejemplo de arriba es del 7 de noviembre... pero se genero mas solicitudes el 8 el 9 y asi sucesivamente... y quiero que cada que se ponga la fecha (08 de Noviembre 2012) se genere automatico en seguida de la anterior (en CASOS PRESENTADOS A COMITE), no se si me explico....la verdad me urge y ps ni idea tengo de esto...GRACIAS....

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 97 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola, Ya he podido, reoslverlo. Por favor dar por terminado, este tema. Muchas gracias Mariano
    • Buenas a todos, trato de transponer o pivotar el archivo que adjunto. El archivo tiene 3 columnas ( en este caso, como pueden ser más 😞 Cód.artículo, Cód.características y Valor. El objetivo es dejar como primera columna el Cód.artículo y como fila de encabezado Cód.características, y luego cruzando datos con Valor. No sé si me he explicado bien Gracias de antemano. Libro1.xlsx
    • Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja de Datos   Son 230 códigos por lo que la macro generará 230 filas por cada clave clues que tenga la hoja Datos En el archivo anexo una hoja llamada CSV para que vean la estructura que tendrá, el archivo CSV estará delimitado por comas   Les agradecería mucho que me ayuden por favor, Dios los bendiga Exportar datos a csv.xlsx
    • Hola buenas tardes.   Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion.  pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente  listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo columna A= fecha de modificación, columna B =Fecha de creación y columna C=Nombre del archivo con hiperlink. Con otro o con la misma macro poder seleccionar otra carpeta y sus subcarpetas, según sea el caso. y me liste a partir de la columna F de la fila 6 Siendo La columna F=Nombre del archivo, columna H=fecha de creación, columna I=ultima modificación   Para así poder acceder y comparar mis archivos, directamente desde excel.   Muchas gracias Mariano       Listar archivos de 2 carpetas para comparar.xlsm
    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.