Saltar al contenido

Extraer datos de lineas entera de una hoja a otra hoja con un desplegable


Recommended Posts

publicado

Buenas tardes desde Cádiz (España)

Ante todo daros las gracias por la información que prestais en este foro el cual nos resulta muy util a gente inexperta como yo, en este caso.

Os cuento.

Tengo un libro con datos de facturas; nº de factura, fecha de factura, proveedor, importe....

En la columna D15 de la hoja "GASTOS TRIMESTRE 1" instale un desplegable para que a la hora de introducir el nombre de estos proveedores, no tuviera qeu perder tiempo en escribirlo.

Pues bien, estoy intentando realizar en el mismo libro pero en otra hoja diferente (PROVEEDORES), un desplegable para obtener datos de la primera hoja.

En esta hoja me gustaría tener un desplegable con las empresas y que al seleccionar una de ellas, todos los datos de esa linea de esa empresa se volcasen en la nueva hoja "proveedores" a partir de la fila 15 (que es donde empiezan dichos datos).

Me es más dificil explicarlo que verlo plasmado pero si teneis alguna duda me preguntais Ok?

Mil gracias de antemano.

Salduos.

PRUEBA1.xls

publicado
Bueno creo que es lo que necesitas, fíjate en la pestaña empresas deberás introducir las empresas que trabajas para que se añadan al desplegable.

espero te sirva de ayuda.

Coronelo ante todo mil gracias por tu interés.

Llevo desde ayer probando e intentando sacarlo y no me sale.

Gracias amigo por ayudarme.

He realizado cambios en mi hoja de pruebas y he añadido la lista de proveedores tal como me has comentado, pero no tengo ni idea de como hacer lo que me has puesto para que salga lo que pido.

Ahora que he puesto una nueva hoja con los proveedores, mi intención es que al seleccionar a una empresa del desplegable, justo me salgan todas las facturas de esa empresa (osea, factura con nº de fac, fecha, total...) a partir de la fila 15.

TE adjunto mi hoja de prueba con las modificaciones para ver si puedes echarme un cable de nuevo.

Me gustaría poder ver las formulas para poder ver como lo has hecho.

Se te agradece compañero.

Saludos.

Prueba2.xls

publicado
Espero que te sirva. un Saludo.

Eso es exacamtne lo que quería conseguir.

Le he puesto un desplegable en donde me has puesto la búsqueda y ahora me es más fácil porque sólo tengo que desplegar y elegir a la empresa.

Lo que por más vueltas que le doy, no soy capaz de ver como lo has conseguido.

No veo ninguna fórmula por ningún lado y la verdad, me gustaría saberlo para poder modificarlo y aprenderlo porque veo que eres un maestro en esto del excel.

Mil gracias compañero.

Un abrazo.

publicado

Sin animo de ofender ha nadie creo que maestro no somos nadie, todos somos aprendices con mayor menor conocimiento.

Puesto que excel abarca una gran cantidad de opciones y en mi humilde opinion es dificil ser conocedor de todo lo que exel ofrece.

y en relativo a como lo hice:

1º Debes buscar en la ayuda de excel la palablras clave "Asignar nombres" y "Validacion de datos"

estas dos opciones son la primeras que utilizo una para darle un nombre a un rango, en este caso en la pestaña de empresas el Rango A:A si no me equivoco.

Luego con validacion de datos le asigamos ese nombre y ya tenemos la lista desplegable.

2ºEl filtro es un codigo en VBA, esto es mejor empezar con la grabadora de Macros y poco a poco mirar el codigo para aprender de el, la frase que a mi me gusto mucho fue "cuanto mas cosas sepas de Excel mayor utilidad le daras a VBA".

por eso mi consejo seria que primero te centres en EXcel y luego pasaras al tema de Macros.

publicado

Gracias de nuevo Coronelo.

La humildad es una característica que hoy en día no se ve mucho y veo que tu la tienes. Eso te premia.

Saludos y gracias nuevamente.

publicado

Buenas tardes de nuevo.

Coronelo te pido otra vez ayuda, o a otro compañero del foro, para poder utilizar el buscador de factura que me hiciste con el Macro en otras hojas del mismo libro.

En el mismo libro he añadido estas nuevas hojas:

GASTOS TRIMESTRE 1(Este ya estaba)

GASTOS TRIMESTRE 2 (ESTA HOJA ES NUEVA)

GASTOS TRIMESTRE 3 (ESTA HOJA ES NUEVA)

GASTOS TRIMESTRE 4 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 1 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 2 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 3 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 4 (ESTA HOJA ES NUEVA)

Lo que pretendo hacer es que el buscador de facturas que me hiciste también busque en todas las hojas nuevas que he realizado.

Por eso te comenté que me gustaría saber como lo habías hecho, y así no molestarte nuevamente.

Las indicaciones que me diste la entendí más bien mal, poque no estoy puesto en esto de Excel.

Lo complicado para mi es lo del Macro del buscador de las facturas que no tengo ni idea de como poder modificarlo para hacer que también busque en el resto de las nuevas hojas.

Se te agredece de antemano.

Salduos.

publicado
Buenas tardes de nuevo.

Coronelo te pido otra vez ayuda, o a otro compañero del foro, para poder utilizar el buscador de factura que me hiciste con el Macro en otras hojas del mismo libro.

En el mismo libro he añadido estas nuevas hojas:

GASTOS TRIMESTRE 1(Este ya estaba)

GASTOS TRIMESTRE 2 (ESTA HOJA ES NUEVA)

GASTOS TRIMESTRE 3 (ESTA HOJA ES NUEVA)

GASTOS TRIMESTRE 4 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 1 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 2 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 3 (ESTA HOJA ES NUEVA)

VENTAS TRIMESTRE 4 (ESTA HOJA ES NUEVA)

Lo que pretendo hacer es que el buscador de facturas que me hiciste también busque en todas las hojas nuevas que he realizado.

Por eso te comenté que me gustaría saber como lo habías hecho, y así no molestarte nuevamente.

Las indicaciones que me diste la entendí más bien mal, poque no estoy puesto en esto de Excel.

Lo complicado para mi es lo del Macro del buscador de las facturas que no tengo ni idea de como poder modificarlo para hacer que también busque en el resto de las nuevas hojas.

Se te agredece de antemano.

Salduos.

Buenos días.

Coronelo te pongo lo que me hiciste en la macro para buscar la factura y que me saliera en otra hoja dicha información

Option Explicit

Sub filtrar()

Dim Bsq As String

Application.ScreenUpdating = False

Bsq = Range("filtro")

Sheets("GASTOS TRIMESTRE 1").Select

Range("A15:S3171").Select

Selection.Copy

Sheets("BUSCAR FACTURA").Select

Range("A15").Select

ActiveSheet.Paste

Range("A14:S14").Select

Selection.AutoFilter

ActiveSheet.Range("$A$14:$S$101").AutoFilter Field:=4, Criteria1:=Bsq

Application.ScreenUpdating = True

End Sub

Sub restablecer()

ActiveSheet.Range("$A$14:$S$101").AutoFilter Field:=4

Range("A14:s110").Clear

End Sub

¿Que tendría que hacer para que también me buscara en las nuevas hojas que he puesto anteriormente?

Saludos compañero.

publicado

¿Me podéis hechar un cable por favor?

Sé que para vosotros esto se puede hacer en unos minutos, pero para gente torpe como yo, esto es una odisea.

Por más que mire los videos de yotube, los tutoriales....no me entero!!!

Que torpe por Dios!!!jeje.

Os ruego ayuda ok?

Salduos por adelantado.

publicado

Hola compañero sube tu archivo y seguro que te solucionamos el problema en un plis plas, aunque en principio una buena manera seria añadir otra condición y otra lista desplegable y según selecciones una opción u otra te haga el filtro.

ahora me piro a currar si tengo un rato en el curro te subo un ejemplo y si es lo que necesitas lo adaptamos a tu archivo.

un saludo.

- - - - - Mensaje combinado - - - - -

Aqui tienes el excel, espero que sea lo que necesitas.

ayudaExcel3(filtro)2.rar

publicado
Hola compañero sube tu archivo y seguro que te solucionamos el problema en un plis plas, aunque en principio una buena manera seria añadir otra condición y otra lista desplegable y según selecciones una opción u otra te haga el filtro.

ahora me piro a currar si tengo un rato en el curro te subo un ejemplo y si es lo que necesitas lo adaptamos a tu archivo.

un saludo.

- - - - - Mensaje combinado - - - - -

Aqui tienes el excel, espero que sea lo que necesitas.

Coronelo, mil gracias esto es lo que necesitaba.

Perfecto......

Gracias por tu aporte y por ayudarme.

Saludos.

Doy por solucinado el tema.

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

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • 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 
  • 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.