Ver Mensaje Individual
  #14 (permalink)  
Antiguo 03/03/2006, 05:41
potypoty
 
Fecha de Ingreso: noviembre-2005
Mensajes: 170
Antigüedad: 18 años, 5 meses
Puntos: 1
Lo mio es diferente idea que la de niconico. Yo necesito que si se cambia una celda (G5) me copie ese valor en otras (D15,D28 y P22), pero si se cambia (D15,D28 o P22) también me actualice (G5) y esto para cualquier cambio en cualquiera de ellas. Se me ocurrió esto:
Dim Direccion As String
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Direccion
Case "$G$5"
Range("D15").Value = Range("G5").Value
Range("D28").Value = Range("G5").Value
Range("P22").Value = Range("G5").Value
Case "$D$15"
Range("G5").Value = Range("D15").Value
Range("D28").Value = Range("D15").Value
Range("P22").Value = Range("D15").Value
Case "$D$28"
Range("G5").Value = Range("D28").Value
Range("D15").Value = Range("D28").Value
Range("P22").Value = Range("D28").Value
Case "$P$22"
Range("G5").Value = Range("P22").Value
Range("D15").Value = Range("P22").Value
Range("D28").Value = Range("P22").Value
End Select
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Direccion = ActiveCell.Address
End Sub

Esto tiene la ventaja que si algún dia necesitas ampliarlo sólo necesitas meter unos "case"s más con las direcciones en cuestión. No sé si será la mejor opción, pero me funciona de madre. Tu código también creo que me pudiera servir y si tengo oportunidad lo probaré.
Creo que tu código podría ser más eficiente que el mio, pero puede que desde el punto de vista visual, de comprensión y de proximas ampliaciones, el mio me parece más cómodo. Me gustaría saber tu opinión.
__________________
El sabio no dice nunca todo lo que piensa,
pero siempre piensa todo lo que dice.
Aristóteles :pensando: