Retroceder   Foro Ayuda Excel > Dudas y consultas sobre Excel > Macros y programación VBA
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1  
Antiguo 28/10/08, 21:49:04
Principiante
 
Usuario desde: oct 2008
Versión de Excel: Excel 2007
Conectado desde: España
Mensajes: 16
Predeterminado macro para no repetir datos

buenas, soy nuevo en el foro y necesito ayuda:

tengo una hoja excel con 5 columnas, en la columna nº 3 tengo una serie de datos, la cuestión es que al ingresar un nuevo dato en la columna 3 quiero que me indique si está repetido en dicha columna. Si no está repetido se introduce el dato y nada más pero si está repetido me muestra una ventana preguntandome si realmente deseo introducir el dato aunque esté repetido, si respondo que si se introduce el dato y lo marca en rojo, si respondo que no no introduce ningun dato, el problema está en que si digo que si se introduce el dato y me lo marca en rojo pero yo lo que quiero es que el otro elemento repetido de la columna también se me marque en rojo y no solo el dato que he introducido, o sea, que se marquen los dos, tres, cuatro... datos que están repetidos.

éste es el codigo que tengo:


Private Sub Worksheet_Change(ByVal Target As Range)
'Suponiendo que las referencias las entras en la columna B
If Target.Column = 3 Then
Contenido = Target
If WorksheetFunction.CountIf(Range("C1:C7000"), Contenido) > 1 Then
MyMsg = "¿QUIERES INTRODUCIRLA DE TODAS FORMAS? " & vbCr & "SE MARCARÁ DE ROJO SI SE DUPLICA"
MyTitle = "¡¡CUIDADO¡¡ YA EXISTE ÉSTA ORDEN DE TRABAJO "
Response = MsgBox(Prompt:=MyMsg, Buttons:=vbExclamation + vbYesNo, Title:=MyTitle)
Select Case Response
Case Is = vbYes
' Rojo
Target.Interior.ColorIndex = 3

Case Is = vbNo
' No hacer nada
Application.Undo
End Select
End If
End If
End Sub


con ésto solo me marca de rojo el nuevo dato repetido y no los dos, o tres, etc.

alguien podría ayudarme???

gracias y un saludo.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2  
Antiguo 28/10/08, 22:56:16
Gran participante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2003
Conectado desde: España
Mensajes: 692
Predeterminado

Hola Carlos

Bien venido al foro

Si utilizas

Range("A" & Target.Row & "" & Target.Row).Interior.ColorIndex = 3

(En vez de las columnas A a D, las que a ti te interesen)

en lugar de

Target.Interior.ColorIndex = 3

conseguirás que te marque de rojo el rango A de la fila destino.

Un saludo desde Vitoria
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #3  
Antiguo 28/10/08, 23:52:12
Principiante
 
Usuario desde: oct 2008
Versión de Excel: Excel 2007
Conectado desde: España
Mensajes: 16
Predeterminado

gracias ioyama, pero al cambiar

Target.Interior.ColorIndex = 3

por

Range("A" & Target.Row & "D" & Target.Row).Interior.ColorIndex = 3

me da error
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT +2. Ahora son las 23:17:42.


© Ayuda Excel

Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

1 2 3 4 5 6 7