Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Macros del Excel

Estas en el tema de Macros del Excel en el foro de Visual Basic clásico en Foros del Web. Hola a todos, El motivo de mi pregunta es con respecto a las macros de Excel , hasta ahora ya he generado el código de ...
  #1 (permalink)  
Antiguo 04/12/2007, 16:03
Avatar de MOlgaI  
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Antigüedad: 16 años, 5 meses
Puntos: 0
Macros del Excel

Hola a todos,
El motivo de mi pregunta es con respecto a las macros de Excel , hasta ahora ya he generado el código de la misma pero tengo un problema al declarar una variable.

Lo que debe realizar esta macro mediante la sentencia de control Select case es asignar un valor a una celda dependiendo de lo que este escrito en la que se aplica la condición, por ejemplo si el usuario le asigna a la celda B2 80% la celda A2 debe asignarle 1030, esto mediante la macro con el select case y si no asignarle 0.

Pero me da el codigo error en la variabla asignada para el porcentaje ya que no se que tipo de dato declarar para esta o si al momento de hacer el case asi se deba de escribir.

No soy muy experta en macros pero le entiendo un poco solo tengo este error les paso mi código y ojala alguien pueda ayudarme y me explico bien.


Sub según_sea()



'declarar variables
Dim Porcentaje As Float
Dim Valor As Integer


'asignar valores a la celda

Porcentage = Range("B2").Value

Select Case Porcentaje

Case "80%"
Valor = 1030

Case Else
Valor = 0
End Select

'asigna el valor obtenido según la condición
Range("A2").Value = Valor




End Sub


Mi pegunta es también ¿como puedo hacer que esta macro se ejecute para varias celdas ya que B2 no es la única que deceo condicionar ?
  #2 (permalink)  
Antiguo 05/12/2007, 02:21
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Re: Macros del Excel

Hola

Veo varias cosas, para empezar cuando le asignas el valor a la variable escribes Porcentage con "g" cuando en todos los demás casos lo has escrito con "j".

Por otro lado hay que ver como ha insertado el texto el usuario, es decir, si ha escrito 80% puede que tengas que declarar la variable como string.

--Saludos--
  #3 (permalink)  
Antiguo 05/12/2007, 14:11
Avatar de MOlgaI  
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Macros del Excel

Ok...

Quedaron corregidas los errores tanto con la g, el tipo de dato y las comillas y todo funciona correctamente ya me aplica la condición (solo para una celda), ahora lo que necesito es no solo aplicar la condicion a una celda sino a varias la condicion sigue siendo la misma pero para diferentes celdas.
Ya prove anidando la sentencia Select case no se si esto sea valido ya que no me funciona probe creando nuevas variables para cada celda y tampco, tambien me gustaria saber como puedo hacerle para que inmediatamente en que yo cambie el valor de la celda a la que se le aplica la condicion se ejecute la macro ya que cada que le cambio el valor a la celda condicionada tengo que precionar alt +f8 y darle en ejecutar lo cual es algo molesto les envio nuevamente mi codigo para que me ayuden

Gracias
saldos

Sub según_sea()

'declarar variables
Dim Porcentaje As Single
Dim Valor As Integer, resultado As Integer, equivalente As Integer



'asignar valores a la celda

Porcentaje = Range("F8").Value
resultado = Range("F9").Value
equivalente = Range("F10").Value


Select Case Porcentaje


Case 0.5
Valor = 0
resultado = 0
equivalente = 0

Case 0.6
Valor = 580
resultado = 580
equivalente = 580

Case 0.7 <= 0.709
Valor = 790
resultado = 790
equivalente = 790

Case 0.8
Valor = 1030
resultado = 1030
equivalente = 1030

Case 0.9
Valor = 1300
resultado = 1300
equivalente = 1300

Case 1#
Valor = 1600
resultado = 1600
equivalente = 1600

Case 1.1
Valor = 1690
resultado = 1690
equivalente = 1690

Case 1.2
Valor = 1800
resultado = 1800
equivalente = 1800

Case 1.21 <= 1.21
Valor = 1920
resultado = 1920
equivalente = 1920

Case Else

Valor = 0
resultado = 0
equivalente = 0


End Select

'asigna el valor obtenido segun la condicion
Range("G8").Value = Valor

'asigna el valor obtenido segun la condicion
Range("G9").Value = resultado

'asigna el valor obtenido segun la condicion
Range("G10").Value = equivalente



End Sub
  #4 (permalink)  
Antiguo 05/12/2007, 14:21
Avatar de MOlgaI  
Fecha de Ingreso: diciembre-2007
Mensajes: 9
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Macros del Excel

Perdón ya vi el error esta en que el Select Case solo se esta aplicando para porcentaje nunca para las demás mi pregunta es ¿Cómo anido las sentencias? y también quisiera saber si la condición para el Case 1.21 <= 1.21 su sintaxis es correcta

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:01.