Contenido de una celda en funcion del valor de otra

10/11/2003 - 23:34 por Mario Alberto | Informe spam
Hola

Tengo el "LibroB" con tres celdas nombradas "Num", "Logo1" y "Logo2", las
dos ultimas asociadas a casillas de verificación, lo que quiero hacer es que
al momento de seleccionar una o la otra o ninguna, en la celda "Num" se me
refleje un valor distinto, en el de "Logo1" sería el último valor utilizado
en la columna "A" del "LibroC" y en el caso de "Logo2" se abra un InputBox.

Lo tenía por formula, sin embargo, a veces es necesario cambiar éste número
y se pierde la formula. (Varias personas utilizamos el archivo en cuestión)

Gracias anticipadas por la ayuda.

Sub N()
If Sheets("Hoja1").Range("LOGO1") = True Then
Sheets("Hoja1").Range("Num") = [\\MR\C\Mis
documentos\BD\BDPL.xls.Range("R65536C1").End(xlUp)] + 1
ElseIf Sheets("Hoja1").Range("LOGO2") = True Then
Sheets("Hoja1").Range("Num") = NumeroR()
ElseIf Sheets("Hoja1").Range("LOGO1") = False And
Sheets("Hoja1").Range("LOGO2") = False Then
Sheets("Hoja1").Range("Num") = ""-""
Else

End If
End Sub
-
Function NumeroR() As String
NumeroR = Application.InputBox(prompt:="Número proporcionado por R? Formato
"" XX - XXXX / AA """, Type:=2)
End Function

... ...
Saludos
Mario Alberto
 

Leer las respuestas

#1 Héctor Miguel
11/11/2003 - 09:34 | Informe spam
Hola, Mario !

... tres celdas nombradas "Num", "Logo1" y "Logo2", las dos ultimas asociadas a casillas de verificacion
... que al ... seleccionar una o la otra o ninguna, en la celda "Num" ... un valor distinto
... el de "Logo1" sería el último valor utilizado en la columna "A" del "LibroC"
... en el caso de "Logo2" se abra un InputBox [...]



1.- [yo] 'veo' 4 'posibles' combinaciones 'seleccionables' ...
0 = ninguna de las dos
1 = solo la primera
2 = solo la segunda
3 = AMBAS
2.- la 'estructura' que estas utilizando [If ... ElseIf ... End If] 'ejecuta' LA PRIMERA que se 'cumpla' ... 'pero'...
¿y si estan seleccionadas AMBAS y la que 'debia' ejecutarse es la segunda???
3.- usar 'Application.InputBox' con 'Type:=2' SOLO 'valida' que la entrada [del usuario] sea texto ... 'pero' ...
NO te 'garantiza' que sea CON el formato 'solicitado' :((
4.- la 'forma' utilizada para 'tomar' el valor [+1] de la ultima fila en 'A' del 'LibroC' [???]
[si te esta 'funcionando'] reemplazala -donde corresponda- en el codigo que te propongo a continuacion:
=> se supone que el 'LibroC' [BDPL.xls] esta abierto<=Sub Actualiza_Num()
Dim Opcion As Integer
With Worksheets("Hoja1")
If .Range("Logo1") Then Opcion = Opcion + 1
If .Range("Logo2") Then Opcion = Opcion + 2
Select Case Opcion
Case 0: .Range("Num,Logo1,Logo2").ClearContents
Case 1: .Range("Num") = _
Workbooks("BDPL").Worksheets("Hoja1").Range("a65536").End(xlUp) + 1
Case 2: .Range("Num") = _
InputBox("Número proporcionado por R?" & vbCr & "Usa el formato: "" XX - XXXX / AA """)
Case 3
Select Case _
MsgBox("Logo1 y Logo2 están seleccionados 'simultáneos'." & vbCr & _
"Para 'corregir' [o CANCELAR] selecciona el botón 'correspondiente':" & vbCr & _
" SI = 'des-seleccionar' Logo1" & vbCr & _
"NO = 'des-seleccionar' Logo2" & vbCr & _
"Cancelar = Terminar SIN 'actualizar'", _
vbYesNoCancel + vbQuestion, "Selección 'ambigüa'")
Case vbYes: .Range("Logo1").ClearContents: Actualiza_Num
Case vbNo: .Range("Logo2").ClearContents: Actualiza_Num
Case vbCancel: Exit Sub
End Select: End Select: End With
End Sub

Saludos,
Héctor.

Preguntas similares