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

#6 Esteban Dido
22/06/2005 - 02:36 | Informe spam
¡Eso es exactamente lo que quería hacer!. Mil garcias, H.
Cambié "Factura X" por Range("b4") ya que en B4 está el número de factura.
Una última cosa, ¿qué código debería agregar para que me lance un msgbox y
no pueda escribir en la columna K de la hoja Datos en caso de que el
producto ya esté facturado? Es decir, cuando la celda (de la columna K de la
hoja Datos) donde debería escribir el número de factura no está vacía.
Saludos
E.D.

"Héctor Miguel" escribió en el mensaje
news:#
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
#7 Héctor Miguel
22/06/2005 - 04:43 | Informe spam
hola, Esteban !

... un msgbox y no pueda escribir en la columna K de la hoja Datos en caso de que el producto ya este facturado?



modifica en el evento '_change' de la hoja 'factura' la linea que dice...
If Not Dato Is Nothing Then Dato.Offset(, 9) = Range("b4")




por alguna de las siguientes dos 'formas' [que hacen lo mismo pero en mas/menos lineas de 'estructura']
___
op1: usado la estructura 'norma' [o la mas 'entendible/digerible'] con 8 lineas de codigo...
If Not Dato Is Nothing Then
If Not IsEmpty(Dato.Offset(, 9)) Then
MsgBox "El codigo " & Target & " ya ha sido incluido en la factura " & Dato.Offset(, 9)
Target.ClearContents
Else
Dato.Offset(, 9) = [b4]
End If
End If
___
op2: usando la estructura de 'linea continua' [que tambien es 'digerible'] en solo 4 lineas de codigo...
If Not Dato Is Nothing _
Then If Not IsEmpty(Dato.Offset(, 9)) _
Then MsgBox "El codigo " & Target & " ya ha sido incluido en la factura " & _
Dato.Offset(, 9): Target.ClearContents Else Dato.Offset(, 9) = [b4]

si cualquier duda... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#8 Esteban Dido
22/06/2005 - 23:28 | Informe spam
Perfecto, Héctor. Funciona de maravilla. Gracias.
Abusando de tu buena voluntad, si escribo un código y luego me percato de
que el número estaba mal, por ejemplo debía escribir 326 y escribí 336, al
sobreescribir 326 encima del 336 todo va a andar bién pero, ¿cómo le quito
el número de factura al 336?

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

> ... un msgbox y no pueda escribir en la columna K de la hoja Datos en


caso de que el producto ya este facturado?

modifica en el evento '_change' de la hoja 'factura' la linea que dice...
>> If Not Dato Is Nothing Then Dato.Offset(, 9) = Range("b4")
por alguna de las siguientes dos 'formas' [que hacen lo mismo pero en


mas/menos lineas de 'estructura']
___
op1: usado la estructura 'norma' [o la mas 'entendible/digerible'] con 8


lineas de codigo...
If Not Dato Is Nothing Then
If Not IsEmpty(Dato.Offset(, 9)) Then
MsgBox "El codigo " & Target & " ya ha sido incluido en la factura


" & Dato.Offset(, 9)
Target.ClearContents
Else
Dato.Offset(, 9) = [b4]
End If
End If
___
op2: usando la estructura de 'linea continua' [que tambien es 'digerible']


en solo 4 lineas de codigo...
If Not Dato Is Nothing _
Then If Not IsEmpty(Dato.Offset(, 9)) _
Then MsgBox "El codigo " & Target & " ya ha sido incluido en la


factura " & _
Dato.Offset(, 9): Target.ClearContents Else Dato.Offset(, 9) [b4]

si cualquier duda... comentas?
saludos,
hector.


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

Abusando de tu buena voluntad
si escribo un código y luego me percato de que... estaba mal... ¿como le quito el numero de factura [...]



-> si vas a 'abusar'... de mi 'buena voluntad'... :-(
-> 'dejame abusar'... de tu 'paciencia' :DD

-> mientras la 'facilidad/amigabilidad/...' sea 'en pro' del usuario [registrar automaticamente CADA producto]...
le dejas a codigo/excel la 'necesidad' de llevar un registro de cada 'pase' [que tan extenso pudiera ser???]
-> una vez 'pasado CON error' un registro de factura [y mientras subsista la condicion anterior]...
[por lo pronto] dos posibles alternativas...
1) o 'corriges' de forma 'manual' [ya sabes... vas a la hoja 'Datos' y 'retiras' el registro equivocado] :-(
2) o 'retiras/cambias/...' la facilidad de que 'el pase' sea de manera automatica [por CADA producto] :-(
[te recuerdo que en dos ocasiones anteriores 'te insistia' en lo siguiente]...
[y... 'dejame insistir'...] :(( en que...
[me parece que] lo 'verdaderamente' importante es determinar 'el momento' en que el registro 'deba ser marcado' -?-
[ya 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'...

comentas 'por donde' empezamos a buscar otras soluciones/alternativas ?
saludos,
hector.
Respuesta Responder a este mensaje
#10 Esteban Dido
23/06/2005 - 15:49 | Informe spam
Hola H,
Naturalmente que puedo retirar manualmente el registro equivocado, pero no
es la idea.
Me gustaría que el código lo haga.
¿Qué tal si al presionar la tecla Supr sobre cualquier celda entre A17 y A28
de la hoja Factura, o al escribir algo en alguna de ellas no estando vacía,
entonces borre el registro correspondiente de la columna K de la hoja Datos?
Si la idea sirve, ¿me ayudas con el código que habría que agregar?
Saludos
"Héctor Miguel" escribió en el mensaje
news:
hola, Esteban !

> Abusando de tu buena voluntad
> si escribo un código y luego me percato de que... estaba mal... ¿como le


quito el numero de factura [...]

-> si vas a 'abusar'... de mi 'buena voluntad'... :-(
-> 'dejame abusar'... de tu 'paciencia' :DD

-> mientras la 'facilidad/amigabilidad/...' sea 'en pro' del usuario


[registrar automaticamente CADA producto]...
le dejas a codigo/excel la 'necesidad' de llevar un registro de cada


'pase' [que tan extenso pudiera ser???]
-> una vez 'pasado CON error' un registro de factura [y mientras subsista


la condicion anterior]...
[por lo pronto] dos posibles alternativas...
1) o 'corriges' de forma 'manual' [ya sabes... vas a la hoja 'Datos' y


'retiras' el registro equivocado] :-(
2) o 'retiras/cambias/...' la facilidad de que 'el pase' sea de manera


automatica [por CADA producto] :-(
[te recuerdo que en dos ocasiones anteriores 'te insistia' en lo


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


en que el registro 'deba ser marcado' -?-
[ya 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'...

comentas 'por donde' empezamos a buscar otras soluciones/alternativas ?
saludos,
hector.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida