Marcar registros con datos extraídos

17/06/2005 - 02:09 por Esteban Dido | Informe spam
Hola,
¿Se pueden marcar los datos extraídos de una hoja?
Tengo en una hoja un listado de artículos para ser facturados.
Con otra hoja, para facturar, se extraen los datos desde el listado mediante
el uso de la fórmula BUSCARV.
¿Es posible, al extraer los datos, marcar el registro extraído para
facturar?
Gracias y Saludos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
17/06/2005 - 06:49 | Informe spam
hola, Esteban !

... en una hoja un listado de articulos para ser facturados.
... otra hoja, para facturar, se extraen los datos desde el listado mediante... BUSCARV.
¿Es posible, al extraer los datos, marcar el registro extraído para facturar?



tu consulta [aunque es 'clara' en su solicitud... creo que] sigue siendo 'ambigua' [en sus 'alcances'] :-(
[solo a manera de 'ejemplo'] la siguiente macro 'busca' en la hoja1 el dato 'puesto' en 'C5' de hoja2
[una vez 'localizado'] le pone una marca [o lo que sea 'necesario'] EN la celda/columna siguiente...
en un modulo de codigo 'normal' ==Sub Marcar()
Dim Celda As Range, BuscarQue
BuscarQue = Worksheets("Hoja2").Range("c5")
With Worksheets("Hoja1")
Set Celda = .Cells.Find(What:=BuscarQue, LookIn:=xlValues, LookAt:=xlWhole)
If Not Celda Is Nothing Then Celda.Offset(, 1) = "Factura X": Set Celda = Nothing
End With
End Sub

[me parece que] lo 'verdaderamente' importante es determinar 'el momento' en que el registro 'deba ser marcado' -?-
[y sabes...] si ya 'estaba listo' para facturar y hay algun 'arrepentimiento' :))
[o quiza...] si 'prefieres' mandar a un listado 'aparte' los que ya esten 'efectivamente' facturados ;)
[incluso...] si quisieras 'listar' SOLO los que esten 'pendientes de factura'...

[creo que] como 'punto de arranque' podemos empezar con [algo +/- como] la sugerencia anterior ;)
si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Esteban Dido
18/06/2005 - 01:39 | Informe spam
Gracias, Hector por tu respuesta, pero no sé cómo aplicarla a mi caso. A ver
si me ayudas.

Mi listado tiene casi 400 registros. Los códigos de los artículos están en
las celdas B9 al B400 de una hoja llamada Datos. En las columnas E, F, H, e
I de la fila 9 al 400 están la cantidad, descripción, precio unitario y
valor total.

Para facturar se anotan los códigos en las celdas A17 al A28 de una hoja
llamada Factura. Al escribir el código en la celda A17 de la hoja Factura,
aparece de inmediato la cantidad, descripción, precio unitario y total en
las celdas B17, C17, D17, y E17, extraídas de las celdas E, F, H, e I
correspondientes a la fila donde se encuentra ese código en la columna B de
la hoja Datos.
Lo mismo se repite al ingresar un código en las celdas A18, A19, ... A28 de
la hoja Factura.

¿Se entiende?. Si no es así, trataría de enviarte un ejemplo.
Lo que quiero es anotar un número en la celda de la columna K
correspondiente a la fila donde se encuentra el código extraído al facturar.

Saludos
"Héctor Miguel" escribió en el mensaje
news:
hola, Esteban !

> ... en una hoja un listado de articulos para ser facturados.
> ... otra hoja, para facturar, se extraen los datos desde el listado


mediante... BUSCARV.
> ¿Es posible, al extraer los datos, marcar el registro extraído para


facturar?

tu consulta [aunque es 'clara' en su solicitud... creo que] sigue siendo


'ambigua' [en sus 'alcances'] :-(
[solo a manera de 'ejemplo'] la siguiente macro 'busca' en la hoja1 el


dato 'puesto' en 'C5' de hoja2
[una vez 'localizado'] le pone una marca [o lo que sea 'necesario'] EN la


celda/columna siguiente...
en un modulo de codigo 'normal' ==> Sub Marcar()
Dim Celda As Range, BuscarQue
BuscarQue = Worksheets("Hoja2").Range("c5")
With Worksheets("Hoja1")
Set Celda = .Cells.Find(What:=BuscarQue, LookIn:=xlValues,


LookAt:=xlWhole)
If Not Celda Is Nothing Then Celda.Offset(, 1) = "Factura X": Set


Celda = Nothing
End With
End Sub

[me parece que] lo 'verdaderamente' importante es determinar 'el momento'


en que el registro 'deba ser marcado' -?-
[y sabes...] si ya 'estaba listo' para facturar y hay algun


'arrepentimiento' :))
[o quiza...] si 'prefieres' mandar a un listado 'aparte' los que ya esten


'efectivamente' facturados ;)
[incluso...] si quisieras 'listar' SOLO los que esten 'pendientes de


factura'...

[creo que] como 'punto de arranque' podemos empezar con [algo +/- como] la


sugerencia anterior ;)
si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.


Respuesta Responder a este mensaje
#3 Héctor Miguel
18/06/2005 - 05:52 | Informe spam
hola, Esteban !

... listado... casi 400 registros... codigos de los articulos... en... B9 al B400... hoja llamada Datos
... para facturar se anotan los codigos en las celdas A17 al A28 de una hoja llamada Factura
... quiero... anotar un numero en... la columna K... fila donde se encuentra el codigo extraido al facturar.



prueba con el siguiente codigo [sigue siendo un ejemplo de una forma entre otras posibles]...
=> cambia la parte de: ... = "Factura X" ... por el dato/numero/factura/hoja-celda_que_lo_contiene -?-
en un modulo de codigo 'normal' ==Sub Marca_Factuado()
Dim Codigo As Range, Dato As Range
With Worksheets("Datos").Range("b9:b40")
For Each Codigo In Worksheets("Factura").Range("a17:a28")
If Not IsEmpty(Codigo) Then
Set Dato = .Find(What:=Codigo, LookIn:=xlValues, LookAt:=xlWhole)
If Not Dato Is Nothing Then Dato.Offset(, 9) = "Factura X"
End If
Next
End With
Set Dato = Nothing
End Sub

[y... 'dejame insistir'...] :(( en que...
[me parece que] lo 'verdaderamente' importante es determinar 'el momento' en que el registro 'deba ser marcado' -?-
[y sabes...] si ya 'estaba listo' para facturar y hay algun 'arrepentimiento' :))
[o quiza...] si 'prefieres' mandar a un listado 'aparte' los que ya esten 'efectivamente' facturados ;)
[incluso...] si quisieras 'listar' SOLO los que esten 'pendientes de factura'...
[creo que] como 'punto de arranque' podemos empezar con [algo +/- como] la sugerencia anterior ;)

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Esteban Dido
19/06/2005 - 23:32 | Informe spam
Hola H,
Tu código hace exactamente lo que yo necesito, pero no lo hace en forma
automática. Tengo que ejecutar en forma manual la macro.
¿Se puede automatizar de modo que la macro se ejecute al escribir el código
en la hoja Factura?

Saludos
"Héctor Miguel" escribió en el mensaje
news:#
hola, Esteban !

> ... listado... casi 400 registros... codigos de los articulos... en...


B9 al B400... hoja llamada Datos
> ... para facturar se anotan los codigos en las celdas A17 al A28 de una


hoja llamada Factura
> ... quiero... anotar un numero en... la columna K... fila donde se


encuentra el codigo extraido al facturar.

prueba con el siguiente codigo [sigue siendo un ejemplo de una forma entre


otras posibles]...
=> cambia la parte de: ... = "Factura X" ... por el


dato/numero/factura/hoja-celda_que_lo_contiene -?-
en un modulo de codigo 'normal' ==> Sub Marca_Factuado()
Dim Codigo As Range, Dato As Range
With Worksheets("Datos").Range("b9:b40")
For Each Codigo In Worksheets("Factura").Range("a17:a28")
If Not IsEmpty(Codigo) Then
Set Dato = .Find(What:=Codigo, LookIn:=xlValues, LookAt:=xlWhole)
If Not Dato Is Nothing Then Dato.Offset(, 9) = "Factura X"
End If
Next
End With
Set Dato = Nothing
End Sub

[y... 'dejame insistir'...] :(( en que...
[me parece que] lo 'verdaderamente' importante es determinar 'el momento'


en que el registro 'deba ser marcado' -?-
[y sabes...] si ya 'estaba listo' para facturar y hay algun


'arrepentimiento' :))
[o quiza...] si 'prefieres' mandar a un listado 'aparte' los que ya esten


'efectivamente' facturados ;)
[incluso...] si quisieras 'listar' SOLO los que esten 'pendientes de


factura'...
[creo que] como 'punto de arranque' podemos empezar con [algo +/- como] la


sugerencia anterior ;)

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.


Respuesta Responder a este mensaje
#5 Héctor Miguel
20/06/2005 - 07:23 | Informe spam
hola, Esteban !

... automatizar de modo que... se ejecute al escribir el codigo en la hoja Factura?



prueba con las siguientes lineas [obviamente modificando lo que haga falta]...
en el modulo de codigo de la hoja 'Factura' ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a17:a28")) Is Nothing Then ActiveCell.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a17:a28")) Is Nothing Then Exit Sub
If IsEmpty(Target) Then Exit Sub
Dim Dato As Range
With Worksheets("Datos").Range("b9:b400")
Set Dato = .Find(What:=Target, LookIn:=xlValues, LookAt:=xlWhole)
If Not Dato Is Nothing Then Dato.Offset(, 9) = "Factura X"
End With
Set Dato = Nothing
End Sub

si cualquier duda... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida