Como cambiar autoforma automaticamente con una formua

13/11/2008 - 13:33 por Fran | Informe spam
Haber si alguien me puede explicar como hacerlo si es que se puede
hacer.
Necesito hacer que si en la casilla A10 (por ejemplo) aparece el nº 1,
automáticamente aparezca una autoforma y si aparece el nº 2 aparezca
otra y si aparece el nº3 otra. Esto se tendría que hacer con alguna
formula ósea que tendría que aparecer la autoforma justo después de
escribir el número.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/11/2008 - 00:52 | Informe spam
hola, frank !

Haber si alguien me puede explicar como hacerlo si es que se puede hacer.
Necesito hacer que si en la casilla A10 (por ejemplo) aparece el nº 1, automaticamente aparezca una autoforma
y si aparece el nº 2 aparezca otra y si aparece el nº 3 otra.
Esto se tendria que hacer con alguna formula osea que tendria que aparecer la autoforma justo despues de escribir el numero.



podrias exponer algunos otros detalles como para poder (re)construir un modelo de trabajo "igual al tuyo" ???

- si las autoformas hay que dibujarlas... (tendra que ser por medio de macros y decidir si de borran las anteriores o que ???)
- si las autoformas ya las tienes en algun lado... (se necesita saber cual, de donde, a donde, etc. etc. etc.)

de preferencia, comenta los detalles +/- exactamente (incluye rangos, hojas, y ???)

saludos,
hector.
Respuesta Responder a este mensaje
#2 Fran
14/11/2008 - 09:54 | Informe spam
Hola Hector, al final he hecho esto haber que te parece, no se si se
podria mejorar.

Dim Direccion As String
Dim Cambiar As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)

Valor = Range("O5").Value
If Valor = 0 Then
ActiveSheet.Shapes("Freeform 11").Visible = False
ActiveSheet.Shapes("Rectangle 14").Visible = False
ActiveSheet.Shapes("Oval 15").Visible = False

ElseIf Valor = 1 And Valor Then
ActiveSheet.Shapes("Freeform 11").Visible = True
ActiveSheet.Shapes("Rectangle 14").Visible = False
ActiveSheet.Shapes("Oval 15").Visible = False
ElseIf Valor = 2 Then
ActiveSheet.Shapes("Freeform 11").Visible = False
ActiveSheet.Shapes("Rectangle 14").Visible = True
ActiveSheet.Shapes("Oval 15").Visible = False
ElseIf Valor = 3 Then
ActiveSheet.Shapes("Freeform 11").Visible = False
ActiveSheet.Shapes("Rectangle 14").Visible = False
ActiveSheet.Shapes("Oval 15").Visible = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Direccion = ActiveCell.Address
Cambiar = True
End Sub
Respuesta Responder a este mensaje
#3 Héctor Miguel
15/11/2008 - 01:14 | Informe spam
hola, Frank !

... al final he hecho esto haber que te parece, no se si sepodria mejorar.



(p.e.)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$O$5" Then Exit Sub
ActiveSheet.Shapes("Freeform 11").Visible = Target = 1
ActiveSheet.Shapes("Rectangle 14").Visible = Target = 2
ActiveSheet.Shapes("Oval 15").Visible = Target = 3
End Sub

saludos,
hector.

__ el codigo expuesto __
Dim Direccion As String
Dim Cambiar As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
Valor = Range("O5").Value
If Valor = 0 Then
ActiveSheet.Shapes("Freeform 11").Visible = False
ActiveSheet.Shapes("Rectangle 14").Visible = False
ActiveSheet.Shapes("Oval 15").Visible = False
ElseIf Valor = 1 And Valor Then
ActiveSheet.Shapes("Freeform 11").Visible = True
ActiveSheet.Shapes("Rectangle 14").Visible = False
ActiveSheet.Shapes("Oval 15").Visible = False
ElseIf Valor = 2 Then
ActiveSheet.Shapes("Freeform 11").Visible = False
ActiveSheet.Shapes("Rectangle 14").Visible = True
ActiveSheet.Shapes("Oval 15").Visible = False
ElseIf Valor = 3 Then
ActiveSheet.Shapes("Freeform 11").Visible = False
ActiveSheet.Shapes("Rectangle 14").Visible = False
ActiveSheet.Shapes("Oval 15").Visible = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Direccion = ActiveCell.Address
Cambiar = True
End Sub
Respuesta Responder a este mensaje
#4 Fran
17/11/2008 - 17:17 | Informe spam
Gracias Hector pero me da un error.

Lo que quiero hacer es por ejemplo cuando en una casilla en concreto
aparezca el nº1 aparezca una autoforma por ejemplo circular si
aparece el nº 2 aparezca una autoforma con forma cuadrada y
desaparezca la que tiene forma circular.

Gracias.
Respuesta Responder a este mensaje
#5 Héctor Miguel
17/11/2008 - 20:56 | Informe spam
hola, Frank !

Gracias Hector pero me da un error.

Lo que quiero hacer es por ejemplo cuando en una casilla en concreto aparezca el nº 1 aparezca una autoforma por ejemplo circular
si aparece el nº 2 aparezca una autoforma con forma cuadrada y desaparezca la que tiene forma circular...



- segun el codigo de tu ejemplo, la "casilla en concreto" es (o era ?) la celda $O$5

- podrias ser mas explicito en cuanto al error que obtienes ?
- cuando haces "que" y "donde" que sucede ?
- cual es exactamente el error ? (texto del mensaje y numero)
- que linea es la que lo causa ?

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida