Impedir duplicados

18/03/2007 - 00:06 por Albino | Informe spam
Olá
Buenas a todos
Mi duda és:
Tengo un libro con 2 hojas e en la hoja1 tengo 260 lineas con datos en las
columnas A, B, C, D, E e F de la seguiente manera:
A B
C D E
F
1 Código(Numero) Perfil (numero) Designação (texto)
Pedido(numero) Oculta Duplo clic (Vazia)

2 123654987 123 xpto

3 213654987 231 rztew

4 5632145698 15 rgdrews


En lá hoja1 tengo un código con lá funcion offset que me vá copiar lá linea
quando le hago duplo clic en la celda (F) despues de ter introduzido la
quantidade pedida en la celda (D), de seguida me vá pegar essa linea en la
hoja2 en lineas consecutivas. Hasta aqui tudo bien, pero queria saber se
seria possible introduzir una indicacion en el código para que me alertara
si en las lineas pegads en la hoja2 ya existe un pedido igual al que me
estou haciendoe en caso afirmativo esse mesmo pedido no pudesse ser pegado.
De referir que en lá coluna A (Códogo) los valores no se puedem repetir una
vez que cada produto solo puede tener un códogo unico.
Gracias
PS: Perdon mi espanhol

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/03/2007 - 05:53 | Informe spam
hola, Albino !

Tengo un libro con 2 hojas e en la hoja1 tengo 260 lineas con datos en las columnas A, B, C, D, E e F de la seguiente manera:
A B C D E F
1 Codigo(Numero) Perfil (numero) Designação (texto) Pedido(numero) Oculta Duplo clic (Vazia)
2 123654987 123 xpto
3 213654987 231 rztew
4 5632145698 15 rgdrews
En la hoja1 tengo un codigo con la funcion offset que me va copiar la linea quando le hago duplo clic en la celda (F)
despues de ter introduzido la quantidade pedida en la celda (D), de seguida me va pegar essa linea en la hoja2 en lineas consecutivas.
Hasta aqui tudo bien, pero queria saber se seria possible introduzir una indicacion en el codigo para que me alertara
si en las lineas pegads en la hoja2 ya existe un pedido igual al que me estou haciendoe
en caso afirmativo esse mesmo pedido no pudesse ser pegado.
De referir que en la coluna A (Codogo) los valores no se puedem repetir una vez que cada produto solo puede tener un codogo unico...



[p.e.]

If Application.CountIf(Worksheets("hoja2").Range("a:a"), Me.Range("a" & Target.Row)) Then
MsgBox Me.Range("a" & Target.Row) & " ya existe en hoja2."
Exit Sub
End If
' sigue codigo en caso de no repetidos... '

si algo estoy interpretando de manera equivocada... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Albino
20/03/2007 - 00:41 | Informe spam
Olá
Hector Miguel
""si algo estoy interpretando de manera equivocada... comentas ?""

[p.e.]
Lo interpretas-te bien, pero solo una cosita que no me va bien, és lo
seguiente:
Apliqué tu código junto con el mio e me funciona en parte, és decir hace lo
que quiero (copia los datos de la hoja1 e los pega en la hoja2 evitando
pegar los repetidos), pero en el final aparece siempre la MsgBox alertando
que el produto X ya existe el la hoja2. Esto no me conbiene que aparesca.
La MsgBox ["ya existe en hoja2"] solo deveria aparecer quando existam datos
iguales, si no, solo deveria aparecer la MsgBox que yo ya tenia que dice
["Copiou com sucesso"].
Otra cosita, seria possible que La mensagen que aparece en la MgsBox
aparecesse en rojo?
Te mando el código como lo yo tengo puesto a ver si lo estoi haciendo
correctamente.
______________________________________________________________________--
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)

Dim MyNum
For MyNum = 2 To 142

If Application.CountIf(Worksheets("Pedido").Range("A:A"), Me.Range("A" &
Target.Row)) Then
MsgBox Me.Range("C" & Target.Row) & " Já está pedido."
Exit Sub
End If

' mi código... '
If ActiveCell.Address = Range("F" & MyNum).Address Then
Range(ActiveCell, ActiveCell.Offset(0, -5)).Copy Destination:= _
Sheets("Pedido").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
msg = MsgBox(Prompt:="Copiou com sucesso", Title:="Informação")


End If
Next MyNum

End Sub
___________________________________________________________________________
Saludos e Gracias
Albino.



"Héctor Miguel" escreveu na mensagem
news:%
hola, Albino !

Tengo un libro con 2 hojas e en la hoja1 tengo 260 lineas con datos en
las columnas A, B, C, D, E e F de la seguiente manera:
A B C
D E F
1 Codigo(Numero) Perfil (numero) Designação (texto)
Pedido(numero) Oculta Duplo clic (Vazia)
2 123654987 123 xpto
3 213654987 231 rztew
4 5632145698 15 rgdrews
En la hoja1 tengo un codigo con la funcion offset que me va copiar la
linea quando le hago duplo clic en la celda (F)
despues de ter introduzido la quantidade pedida en la celda (D), de
seguida me va pegar essa linea en la hoja2 en lineas consecutivas.
Hasta aqui tudo bien, pero queria saber se seria possible introduzir una
indicacion en el codigo para que me alertara
si en las lineas pegads en la hoja2 ya existe un pedido igual al que me
estou haciendoe
en caso afirmativo esse mesmo pedido no pudesse ser pegado.
De referir que en la coluna A (Codogo) los valores no se puedem repetir
una vez que cada produto solo puede tener un codogo unico...



[p.e.]

If Application.CountIf(Worksheets("hoja2").Range("a:a"), Me.Range("a" &
Target.Row)) Then
MsgBox Me.Range("a" & Target.Row) & " ya existe en hoja2."
Exit Sub
End If
' sigue codigo en caso de no repetidos... '

si algo estoy interpretando de manera equivocada... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Albino
20/03/2007 - 01:10 | Informe spam
Olá
Hector Miguel
""si algo estoy interpretando de manera equivocada... comentas ?""

[p.e.]
Lo interpretas-te bien, pero solo una cosita que no me va bien, és lo
seguiente:
Apliqué tu código junto con el mio e me funciona en parte, és decir hace lo
que quiero (copia los datos de la hoja1 e los pega en la hoja2 evitando
pegar los repetidos), pero en el final aparece siempre la MsgBox alertando
que el produto X ya existe el la hoja2. Esto no me conbiene que aparesca.
La MsgBox ["ya existe en hoja2"] solo deveria aparecer quando existam datos
iguales, si no, solo deveria aparecer la MsgBox que yo ya tenia que dice
["Copiou com sucesso"].
Otra cosita, seria possible que La mensagen que aparece en la MgsBox
aparecesse en rojo?
Te mando el código como lo yo tengo puesto a ver si lo estoi haciendo
correctamente.
______________________________________________________________________--
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)

Dim MyNum
For MyNum = 2 To 142

If Application.CountIf(Worksheets("Pedido").Range("A:A"), Me.Range("A" &
Target.Row)) Then
MsgBox Me.Range("C" & Target.Row) & " Já está pedido."
Exit Sub
End If

' mi código... '
If ActiveCell.Address = Range("F" & MyNum).Address Then
Range(ActiveCell, ActiveCell.Offset(0, -5)).Copy Destination:= _
Sheets("Pedido").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
msg = MsgBox(Prompt:="Copiou com sucesso", Title:="Informação")


End If
Next MyNum

End Sub
___________________________________________________________________________
Saludos e Gracias
Albino.



"Héctor Miguel" escreveu na mensagem
news:%
hola, Albino !

Tengo un libro con 2 hojas e en la hoja1 tengo 260 lineas con datos en
las columnas A, B, C, D, E e F de la seguiente manera:
A B C
D E F
1 Codigo(Numero) Perfil (numero) Designação (texto)
Pedido(numero) Oculta Duplo clic (Vazia)
2 123654987 123 xpto
3 213654987 231 rztew
4 5632145698 15 rgdrews
En la hoja1 tengo un codigo con la funcion offset que me va copiar la
linea quando le hago duplo clic en la celda (F)
despues de ter introduzido la quantidade pedida en la celda (D), de
seguida me va pegar essa linea en la hoja2 en lineas consecutivas.
Hasta aqui tudo bien, pero queria saber se seria possible introduzir una
indicacion en el codigo para que me alertara
si en las lineas pegads en la hoja2 ya existe un pedido igual al que me
estou haciendoe
en caso afirmativo esse mesmo pedido no pudesse ser pegado.
De referir que en la coluna A (Codogo) los valores no se puedem repetir
una vez que cada produto solo puede tener un codogo unico...



[p.e.]

If Application.CountIf(Worksheets("hoja2").Range("a:a"), Me.Range("a" &
Target.Row)) Then
MsgBox Me.Range("a" & Target.Row) & " ya existe en hoja2."
Exit Sub
End If
' sigue codigo en caso de no repetidos... '

si algo estoy interpretando de manera equivocada... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#4 Héctor Miguel
20/03/2007 - 01:56 | Informe spam
hola, Albino !

1) el color de los MsgBox no se puede modificar :-(
[a menos que busquemos algunas API's de windows o utilicemos un formulario de usuario -UserForm-] -?-

2) si el rango de datos donde puedes hacer el 'doble-click' es solamente [F2:F142]
prueba con las siguientes adaptaciones al codigo expuesto:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("f2:f142")) Is Nothing Then Exit Sub
If Application.CountIf(Worksheets("Pedido").Range("a:a"), Me.Range("a" & Target.Row)) Then
MsgBox Me.Range("c" & Target.Row) & " Já está pedido."
Else
Range(Target, Target.Offset(, -5)).Copy _
Destination:=Worksheets("Pedido").Range("a" & Rows.Count).End(xlUp).Offset(1)
MsgBox "Copiou com sucesso", , "Informação"
End If
End Sub

[nuevamente] si algo estoy interpretando de manera equivocada... comentas ?
saludos,
hector.

__ la consulta original __
... solo una cosita que no me va bien... en el final aparece siempre la MsgBox alertando que el produto X ya existe el la hoja2.
Esto no me conbiene que aparesca... solo deveria aparecer quando existam datos iguales, si no
solo deveria aparecer la MsgBox que yo ya tenia que dice ["Copiou com sucesso"].
Otra cosita, seria possible que La mensagen que aparece en la MgsBox aparecesse en rojo?
Te mando el codigo como lo yo tengo puesto a ver si lo estoi haciendo correctamente.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim MyNum
For MyNum = 2 To 142
If Application.CountIf(Worksheets("Pedido").Range("A:A"), Me.Range("A" & Target.Row)) Then
MsgBox Me.Range("C" & Target.Row) & " Já está pedido."
Exit Sub
End If
' mi código... '
If ActiveCell.Address = Range("F" & MyNum).Address Then
Range(ActiveCell, ActiveCell.Offset(0, -5)).Copy Destination:= _
Sheets("Pedido").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
msg = MsgBox(Prompt:="Copiou com sucesso", Title:="Informação")
End If
Next MyNum
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida