Validación Fija

07/07/2004 - 20:28 por Compumakro | Informe spam
Amigos de Excel:
Necesito las Celdas G4 y H4 con Validación y con lista desplegable.
El problema es que siempre estoy insertando filas y la configuración se baja
por causa de cada inserción.
En consecuencia, como la fila 4 es nueva cada vez, cada inserción,
desaparece la configuración.

G4 H4
Ing. Sistemas FUSM
Admón Empresas UNINORTE
Derecho USB
Fisioterapia FUSM-EM
Enfermería
etc

Necesito que esas celdas se queden "Ahí" a pesar de la inserción y que los
datos se conserven en la fila no importando el número de Inserciones de Fila
hechas.
Saludos

Oscar
Barranquilla

Ya esa hoja tiene los siguientes Códigos trabajando desde hace más de un
año:

*******************************************************************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 4 To 150
Cells(i, 18) = (Cells(i, 9) * Cells(i, 11)) + (Cells(i, 12) *
Cells(i, 14)) + (Cells(i, 15) * Cells(i, 17))
Next i

If Cells(4, 1) = Empty Or Cells(4, 2) = Empty Or Cells(4, 3) = Empty Or
Cells(4, 7) = Empty Or Cells(4, 8) = Empty Or Cells(4, 9) = Null Then
Cells(4, 18) = "Faltan Datos"
End If
If Cells(4, 9) > 0 And Cells(4, 8) = "FUSM" And Cells(4, 3) = "H" Then
Cells(4, 11) = 25000
End If
If Cells(4, 9) > 0 And Cells(4, 8) <> "FUSM" Then
Cells(4, 11) = 23000
End If
Cells(4, 2) = Application.Proper(Cells(4, 2))
Cells(4, 3) = UCase(Cells(4, 3))
Cells(4, 10) = UCase(Cells(4, 10))
Cells(4, 13) = UCase(Cells(4, 13))
Cells(4, 16) = UCase(Cells(4, 16))

End Sub
 

Leer las respuestas

#1 Héctor Miguel
08/07/2004 - 03:56 | Informe spam
hola, Oscar !

... necesito las celdas G4 y H4 con validacion y con lista desplegable.
... problema ... siempre estoy insertando filas y ... se baja por causa de cada insercion.
... como la fila 4 es nueva cada vez, cada insercion desaparece la configuracion [...]
... que esas celdas se queden "ahi" a pesar de la insercion
... que los datos se conserven en la fila no importando el numero de inserciones de fila hechas.
... esa hoja tiene ... codigos trabajando [...]
Private Sub Worksheet_SelectionChange(ByVal Target As Range) [...]



1° las 'reglas' de validacion son propiedades [o atributos] =>de la/s celda/s<= [razon por la cual...]
al insertar filas/columnas.. dichas validaciones NO 'desaparecen'... 'se van' [junto] con la/s celda/s ;)
2° si la insercion 'ocurre' [precisamente] EN la/s fila/columna de la/s celda/s 'validada/s'...
[te sugiero...] =>cambia<= las 'validaciones' por 'comboboxes' [de 'cuadro de controles']
3° la 'serie' de macros que te propongo, 'mantienen' los combos =>siempre<= 'sobre' las celdas 'g4' y 'h4'
[y SOLO 'se muestran' cuando el usuario selecciona 'esas' celdas, sin 'importar' si hubo inserciones] ;)
4° inserta los 2 combos [propuestos] y =>en tiempo de diseño<= 'ajusta' sus propiedades...
[alto, ancho, selectionmargin, etc.] para que 'se parezcan' a los combos de validaciones
5° copia los codigos propuestos en el modulo de 'esa' hoja, y haz algunas 'pruebas'
=> estoy usando algunos 'supuestos', que seguramente en la 'realidad' sean otros
[como 'llenar' los combos desde matrices en lugar de usar rangos]
=> quizas prefieras que 'el llenado' se haga en el evento '_open' del libro en lugar del '_actrivate' de la hoja
=> y [probablemente] varias 'cosillas' mas... pero... ¿comenzamos y comentas las 'fallas'? ;)

saludos,
hector.
en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_Activate()
CargarListas
End Sub
Private Sub CargarListas()
Dim Lista1 As Variant, Lista2 As Variant
Lista1 = Array("Ing. Sistemas", "Admón. Empresas", "Derecho", "Fisioterapia", "Enfermería", "etc.")
Lista2 = Array("FUSM", "UNINORTE", "USB", "FUSM-EM")
With Me.ComboBox1
.LinkedCell = "": .Clear
.List = Application.Transpose(Lista1)
.LinkedCell = "g4"
End With
With Me.ComboBox2
.LinkedCell = "": .Clear
.List = Application.Transpose(Lista2)
.LinkedCell = "h4"
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' On Error GoTo Salida
' Application.EnableEvents = False
If Target.Address = "$G$4" Then
Me.ComboBox2.Visible = False
With Me.ComboBox1
.Visible = True: .LinkedCell = "g4"
.Top = Target.Top: .Left = Target.Left
End With
ElseIf Target.Address = "$H$4" Then
Me.ComboBox1.Visible = False
With Me.ComboBox2
.Visible = True: .LinkedCell = "h4"
.Top = Target.Top: .Left = Target.Left
End With
Else: Me.ComboBox1.Visible = False: Me.ComboBox2.Visible = False
End If
'Salida:
' Application.EnableEvents = True
End Sub
Private Sub ComboBox1_Change()
ActiveCell.Select: Worksheet_Change Range("g4")
End Sub
Private Sub ComboBox2_Change()
ActiveCell.Select: Worksheet_Change Range("h4")
End Sub

Preguntas similares