Visual Basic - Formato texto imagenes

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Milton
Val: 3
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Formato texto imagenes

Publicado por Milton (2 intervenciones) el 13/10/2018 03:09:24
Saludos me pueden ayudar muy comedidamente con la siguiente macro: mediante esta macro solo funciona cuando en la celda A1 ingreso manualmente al valor ya sea 1 o 0, lo que necesito es que en la celda A1 el valor venga de una formula de la celda B5.

Otra situación es cuando se ejecuta con 1 salta a la celda E7 y cuando se ejecuta con 0 salta a la celda B14, lo que deseo es que no salte ni seleccione ninguna celda.

La hoja la he protegido con una contraseña "X".

Favor analizar esta macro que he logrado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect "X"
    Application.ScreenUpdating = False
 
  If Not Intersect(Target, Range("A1")) Is Nothing Then
If Range("A1").Value = 1 Then
ActiveSheet.Shapes("Rectangle 1").Select
    Selection.Font.ColorIndex = 0
    ActiveSheet.Shapes("Rectangle 2").Select
    Selection.Font.ColorIndex = 0
    Range("C7").Select
    ActiveSheet.Shapes("Line 3").Select
    Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
    Selection.ShapeRange.Line.Visible = msoTrue
ActiveSheet.Protect "X"
 
Else
If Range("A1").Value = 0 Then
ActiveSheet.Shapes("Rectangle 1").Select
    Selection.Font.ColorIndex = 2
    ActiveSheet.Shapes("Rectangle 2").Select
    Selection.Font.ColorIndex = 2
    Range("B14").Select
    ActiveSheet.Shapes("Line 3").Select
    Selection.ShapeRange.Line.ForeColor.SchemeColor = 9
    Selection.ShapeRange.Line.Visible = msoTrue
    ActiveSheet.Protect "X"
 
    End If
    End If
    End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha disminuido su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Formato texto imagenes

Publicado por Ismael (3 intervenciones) el 19/10/2018 13:06:14
Hola,
el primer punto que indicas que la celda A1 tome el valor de la celda B5, lo que tienes que hacer es, estando en la celda A1 escribe:
1
=B5
, con el igual le estás indicando que es una fórmula y en éste caso le estás diciendo que coja el valor de la celda B5.

El otro punto que indicas, de que no se seleccione ninguna celda también lo puedes resolver comentando los puntos donde está haciendo los select, en los puntos:
1
Range("C7").Select
y
1
Range("B14").Select
, puedes comentar el código insertando la comilla simple ( ' ) al principio de la línea.

Un Saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Milton
Val: 3
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Formato texto imagenes

Publicado por Milton (2 intervenciones) el 20/10/2018 04:35:14
Saludos excelente ayuda al debate planteado.
Gracias
Tema cerrado solucionado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar