Saltar al contenido

como ampliar lista desplegable


bodega2

Recommended Posts

publicado

Hola amigos, estoy haciendo un excel con una lista desplegable y quiero poner unas 30 variantes y nada mas me caben unas 20.Hay alguna manera de poder ampliarla?? Os dejo un ejemplo para que podais hechale un ojo.

Gracias!!!

Libro3.rar

publicado

Hola,

Para resolver el límite de la cantidad y, también, para mí es una manera de trabajar de manera más simple y operativa, puedes crear una tabla con las datos que quieres que aparezcan en la lista desplegable, y hacer la validación con esa tabla.

Los datos pueden estar en la misma hoja o en otra.

En el archivo adjunto ya está hecho. Puedes cambiar la ubicación de la tabla.

Un saludo,

Libro3.zip

publicado

Es justo lo que estoy buscando yo hacer. Pero lo que yo quiero es que despues de poner el dato en la casilla de la lista desplegable, me ponga en la casilla de al lado otro dato referente a ese. Me explico, dos campos, articulo y precio. La lista desplegable elegir el articulo y que en la casilla de al lado me aparezca automaticamente el precio de ese articulo.

Gracias de antemano

publicado

Hola Andrés

Haz lo que te dice la compañera Maríajose, o sea en la columna C8:C27 relacionas todos los datos. En otra columna, por ejemplo en E8:E27, relacionas los precios de cada producto.

Y en D3 escribe:

=BUSCARV(C3;C8:E27;3;0)

y así obtendrás en D3 el precio del producto que hayas seleccionado en C3.

Observa que Maríajose ha definido el rango C8:C27 con el nombre Lista.

Saludos

publicado

gracias a ambos por las aclaraciones!!lo unico que la respuesta del amigo fleming se refiere a la consulta del amigo Mrhefesto .

En cuanto a la mia.Si mariajose,eso es lo que estaba buscando,muchas gracias !!pero para aprenderme la "historia" para otro vez,me surgen un par de dudas,tal vez muy simples pero para mi un poco dificiles jeje.al marcar la casilla de datos me aparece en la parte de arriba herramienta de tabla y diseño,que me imagino que es donde se le nombra a la casilla y donde se le dice el formato a la lista no??pero donde esta esa opcion (herramienta de tabla y diseño),por que si yo marco otra casilla desaparece y no se donde buscarla.vamos resumiendo,como creo yo una tabla como la de DATOS que tu me as creado??

Gracias!!!

publicado

Tal vez porque haya definido desde la fila 8 hasta la 27 como tabla de datos o una matriz de datos y por eso sale lo de diseño de tabla.

Porque en cuanto se añaden datos en columnas adyacentes, se crean campos nuevos.

Selecciona las casillas que quieres que sean la tabla y en "inicio" tienes la opción "dar formato como tabla" y asi te saldra.

Y hola Fleming. He puesto lo que me has dicho pero no me sale.

Libro3.rar

publicado

Hola Mrhefesto

Veo que te será más sencillo no crear una tabla, sino simplemente meter los datos en columnas, tal como pongo en el archivo.

No sé si lo que quieres es buscar los datos de las tres columnas. Yo lo interpreté así.

Un saludo

LIBRO.XX.xls

publicado

Gracias Fleming.

Problema solucionado. Es que yo uso el Office 2010 y sustituyeron la funcion BUSCARV por CONSULTAV.

Perdona bodega2 por haber utilizado tu hilo. Te he explicado antes como hacer para que te salga lo de Diseño de tabla. Al menos lo hago yo así.

Gracias a todos

publicado

Hola mariajose,creo que entre unos y otros no nos estamos entendiendo.Te comentaba en el post anterior que me digeras por favor como crear lo que me sugerias en el 1º post ( puedes crear una tabla con las datos que quieres que aparezcan en la lista desplegable, y hacer la validación con esa tabla.).Y si una vez hecha esa tabla siempre debe seguir a la vista y no puede estar oculta.

a ver si me quedo con la copla para proximas ocasiones.

Por cierto,por que cuando copio la solucion que tu me as en otra hoja no funciona como en el ejemplo que te mando????

Gracias!!!

RESUMEN 2.rar

publicado

hola de nuevo y gracias por contestar tan rapido.he leido la explicacion y la entiendo,lo unico que al llegar al paso( vamos a Insertar => Nombres => definir) picho en el menu a insertar y no me sale la opcion de nombre.Puede ser por mi version de excel??es la del 2007.y otra cosilla,cuando dices que se puede ocultar,como lo puedo hacer??

Gracias y perdon por mi torpeza!!

publicado

Sin duda es porque tenemos diferente versión de Excel. Yo tengo Excel 2003 e ignoro la operativa de 2007.

Respecto a ocultar una columna (en mi Ex 2003) se hace así: Seleccionar la letra de la columna que se desea ocultar => Formato => Columna => Ocultar

Seguro que algún compañero te dirá cómo se definen nombres en Excel 2007 y, en su caso, cómo ocultar columna.

Un saludo y suerte!

publicado

ok,fleming,ya lo he ocultado con el 2007,marcar columna=>boton derecho=>ocultar.para volver a mostrarlo no lo he visto aun jejej!!!ahora aver si alguien me hecha una mano y me dice como se hace ( Insertar => Nombres => definir )en excel 2007.

gracials!!

publicado

El compañero Bodega2 solicita explicación para Definir nombres en versión Excel 2007, ya que yo se lo expliqué en Excel 2003 y parece que no le sirve.

Saludos

Archivado

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

  • 109 ¿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
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
    • Podrías compartir tu solucion
  • 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.