VALIDACION MULTIPLE EN MISMA CELDA

04/07/2006 - 13:35 por Almeida Cox | Informe spam
De el siguiente antiguo mensaje:

http://groups.google.com/group/micr...a737a4b1bb

he rescatado este código:

en el modulo de codigo de la hoja ==Dim Tiene_VD As Boolean, _
Anterior As String, Ya_Estan As String, Actual As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Tiene_VD = Target.Validation.Type > 0
If Not Tiene_VD Then Exit Sub
Application.EnableEvents = False
If Len(Target) > 0 Then
If Anterior <> "" Then
Ya_Estan = "|" & Application.Substitute(Anterior, ",", "|") & "|"
Actual = "|" & Target & "|"
If Len(Ya_Estan) > Len(Application.Substitute(Ya_Estan, Actual,
"")) _
Then Target = Anterior Else Target = Anterior & "," & Target
End If
Else: Target.ClearContents
End If
Anterior = CStr(Target)
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then Anterior = CStr(Target)
End Sub


He intentado aplicarlo y funciona perfectamente (por cierto que es
GENIAL!!!, MUY útil) PERO tengo un problema, una especie de "efecto
secundario":

- Cuando selecciono una celda (con contenido, por ejemplo un texto
cualquiera) pulsando dos veces sobre ella (como si fuese a editarla) y
acto seguido pulso una vez sobre otra celda cualquiera... el contenido
de la primera celda se duplica automáticamente!!

Quizá es porque yo utilizo EXCEL 2003 y ese código es del año
2004... no se. Si alguien pudiese ayudarme a corregir ese "efecto
secundario", por favor... creo que es un código MUY UTIL para mejorar
muchas de las hojas que hacemos.
 

Leer las respuestas

#1 Gino A. Piazza
04/07/2006 - 14:09 | Informe spam
Realmente utilice el codigo y me parece GUAOO Excelente y de gran utilidad
espero podamos seguir ayudando asi al grupo.. lo utilice con Office 2003 y
no me surgieron problemas hasta el momento.

Gracias por esta inclusion

Saludos





"Almeida Cox" escribió en el mensaje
news:
De el siguiente antiguo mensaje:

http://groups.google.com/group/micr...a737a4b1bb

he rescatado este código:

en el modulo de codigo de la hoja ==Dim Tiene_VD As Boolean, _
Anterior As String, Ya_Estan As String, Actual As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Tiene_VD = Target.Validation.Type > 0
If Not Tiene_VD Then Exit Sub
Application.EnableEvents = False
If Len(Target) > 0 Then
If Anterior <> "" Then
Ya_Estan = "|" & Application.Substitute(Anterior, ",", "|") & "|"
Actual = "|" & Target & "|"
If Len(Ya_Estan) > Len(Application.Substitute(Ya_Estan, Actual,
"")) _
Then Target = Anterior Else Target = Anterior & "," & Target
End If
Else: Target.ClearContents
End If
Anterior = CStr(Target)
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then Anterior = CStr(Target)
End Sub


He intentado aplicarlo y funciona perfectamente (por cierto que es
GENIAL!!!, MUY útil) PERO tengo un problema, una especie de "efecto
secundario":

- Cuando selecciono una celda (con contenido, por ejemplo un texto
cualquiera) pulsando dos veces sobre ella (como si fuese a editarla) y
acto seguido pulso una vez sobre otra celda cualquiera... el contenido
de la primera celda se duplica automáticamente!!

Quizá es porque yo utilizo EXCEL 2003 y ese código es del año
2004... no se. Si alguien pudiese ayudarme a corregir ese "efecto
secundario", por favor... creo que es un código MUY UTIL para mejorar
muchas de las hojas que hacemos.

Preguntas similares