Programación General > VBA
Buscar en una tabla Excel
Estrufi:
Hola a todos!!
Me gustaría saber como hacer para ir rellenando una tabla a partir de otra, pero cumpliendo dos condiciones a la vez, por ejemplo que en una fila, dos columnas tengan un determinado valor o una de ellas sea mayor que un cierto valor, Se podria haceR?
Ej:
65 maria 70
80 hola 50
35 javier 20
y en otra pestaña kiero que vaya recogiendo de la tabla, (porque quiero el nombre y las filas con el valor de la ultima columna mayor que 25)
maria 70
hola 50
Hay alguna manera de hacerlo sin tener que usar un filtro en la primera tabla y copiar pegar? pork lo k kiero es k coja los datos directamente haciendo referencia a la tabla.
Muchisimas gracias!!!
m0skit0:
Macros VBA. Postea esto en el subforo VBA de Visual Basic.
Saludos
Estrufi:
Buenas!
Gracias, .. no parece que haya manera de conseguirlo directamente desde Excel,no? Ademas estoy pensando , k una cosa seria ir completando una tabla añadiendo alguna columna desde otra tabla y otra pensar en ir introduciendo filas automaticamente desde otra tabla..., eso lo veo un poco imposible, no?
Soy nueva en trabajar con Excel, k pensais?
muchisimas gracias!!
m0skit0:
Yo me refiero a una macro VBA de Excel, no a Visual Basic en sí. VBA es un lenguaje de macros que te permite programar el Excel, o automatizarlo si prefieres, para que haga ciertas tareas automáticas. Es algo interno de Excel, no externo ;) Por esto mismo postéalo en VBA, en el subforo que te he comentado.
Saludos
m0skit0:
Por ejemplo, esta macro te copia todas las celdas que no están vacías desde la hoja 1 a la hoja 2. Recorre todas las columnas de cada fila hasta encontrar una celda vacía, ante lo cual pasa a la fila siguiente. En cuanto la primera celda de una fila esté vacía deja de copiar.
--- Código: Visual Basic ---Private Sub Ejemplo() Dim fila As Integer Dim columna As Integer fila = 1 columna = 1 Do While ActiveWorkbook.Sheets(1).Cells(fila, columna) <> vbNullString Do ActiveWorkbook.Sheets(2).Cells(fila, columna) = ActiveWorkbook.Sheets(1).Cells(fila, columna) columna = columna + 1 Loop While ActiveWorkbook.Sheets(1).Cells(fila, columna) <> vbNullString fila = fila + 1 columna = 1 LoopEnd Sub Con modificarlo un poco lograrás hacer lo que buscas. Cualquier duda que tengas sobre esto nos consultas.
Ánimo ^_^
Navegación
[#] Página Siguiente
Ir a la versión completa