Articulos de una hoja a otra

25/03/2005 - 21:32 por Oretrac | Informe spam
Haber si podeis ayudarme...

Tengo que escribir en un hoja los articulos que recibo diariamente segun el
soiguiente formato:

FECHA NUM. ORDEN ORIGEN NUMERO DE ORIGEN NOMBRE PRECIO
dia actual 1 A 2
" 2 B
3
" 3 A
1
" 4 C
5
etc

y en otra hoja solo los articulos de un determinado origen supongamos en
este caso los que su origen es A
ordenados en este caso por numero de origen.

Mi pregunta es la siguiente; como hacer para que segun escriba los articulos
en la primera hoja se escriban solo los de origen A a su vez en la segunda
hoja y ordenados por numero de origen sin necesidad de teclear los articulos
dos veces

gracias por anticipado
 

Leer las respuestas

#1 KL
26/03/2005 - 01:09 | Informe spam
Hola Oretrac,

Suponiendo que tienes tu base de datos en la Hoja1 y quieres extraer los
registros con el origen A a la Hoja2, prueba lo siguiente:

1) En la celda [A1] de la Hoja2 pon ORIGEN (exactamente igual q el titulo de
la columna de la base de datos que contiene los valores de origen)
2) En la celda [A2] de la Hoja2 pon A
3) Estando en la Hoja2 ve al menu Datos>Filtro>Filtro Avanzado
4) Marca la opcion "Copiar a otro sitio"
5) Mete el cursor dentro de la 1a cailla, ve a la Hoja1 y selecciona toda la
base de datos
6) Mete el cursor dentro de la 2a casilla y selecciona las celdas [A1:A2] de
la Hoja2
7) Mete el cursor dentro de la 3a casilla y selecciona la celda [A4] de la
Hoja2
8) Pulsa Aceptar
9) Usa el menu Datos>Ordenar para ordenar la extraccion.

Tambien podrias automatizar el proceso mediante macros:

Basandonos en las mismas hipotesis que antes
1) En la celda [A1] de la Hoja2 pon ORIGEN (exactamente igual q el titulo de
la columna de la base de datos que contiene los valores de origen)
2) Copia el codigo que te pongo a continuacion al modulo VBA de la Hoja2.
Para ello:
- haz clic derecho sobre el nombre de la hoja que aparece en una de las
pestañas en la parte baja a la izquierda de la ventana de Excel
- del menu contextual q aparecera a continuacion elige "Ver Codigo" y se
abrira el Editor VBA
- pega el codigo en la ventana mas grande a mano derecha
- pulsa Alt+F11 para volver a la hoja
3) Escribe A en la celda [A2] de la Hoja2

Importante:
1) Si la Hoja1 en realidad tiene otro nombre, tendras q sustituir "Hoja1"
por el nombre real dentro del codigo VBA
2) Para que el macro funcione, los macros deben estar habilitados.
3) Puedes cambiar los criterios de filtrado facilmente. Solo tienes que
poner el titulo de columna correspondiente en la celda [A1] y el valor
deseado en la celda [A2] de la Hoja2

Saludos,
KL

'-Inicio Codigo
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
If Intersect(Target, .Range("A2")) Is Nothing Then Exit Sub
.Range("A4").CurrentRegion.ClearContents
ThisWorkbook.Sheets("Hoja1").UsedRange.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), _
Unique:=False
.Range("A4").Sort Key1:=Range("D4"), _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
End With
End Sub
'-Fin Codigo

Preguntas similares