Visual Basic para Aplicaciones - calcular rango en visualbasic

Life is soft - evento anual de software empresarial
 
Vista:

calcular rango en visualbasic

Publicado por armando sandoval (1 intervención) el 21/09/2005 22:36:53
Hola,

Por favor, si alguien puede ayudarme se lo agradeceré ya que en ningún foro que he consultado me han podido ayudar.

Tengo un libro con varias hojas en excel, por lo que me interesa que en algun momento en que corre una macro calcule solamente un rango especifico, ya que de otra manera calcula toda la hoja o el libro y se tarda mucho.

Ya intente con las siguientes instrucciones, sin embargo, presentan error y no se pueden ejecutar.

Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate

Worksheets("sheet1").Rows(1:2).Calculate

de antemano gracias.
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

RE:calcular rango en visualbasic

Publicado por Mauricio Baeza (262 intervenciones) el 22/09/2005 15:59:58
Hola, solo asegurate de darle un "rango" CORRECTO, por ejemplo:

Calculamo el rango A1:B5 de la hoja activa

ActiveSheet.Range("A1:B5").Calculate

En tu ejemplo te faltaron las comillas en la referencia a las filas y asegurate de que existe Hoja1

Worksheets("Hoja1").Rows("1:2").Calculate

Saludos...
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

RE:calcular rango en visualbasic

Publicado por armando sandoval (1 intervención) el 22/09/2005 19:04:40
Mauricio agradezco tu solución , sin embargo no me funcionó ya que el rango es variable como te lo muestro a continuación.

EN EL EJEMPLO GAMA ES UN RANGO VARIABLE, POR LO QUE LA INSTRUCCION SELECCIONA DICHO RANGO, SE MUEVE UNA CELDA A LA IZQUIERDA ESCRIBE LA FORMULA Y LA COPIA DEL RANGO VARIABLE HASTA LA FILA 1034 Y DESPUES DE QUE COPIA LA FORMULA QUIERO QUE LO CALCULE,

'calcula la formula de concatenar clave y tipo de credito ya que al insertar información se madrea


Application.ThisWorkbook.Worksheets("Traspasos Juridico").Range(GAMA).Select
ActiveCell.Offset(0, -1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[1],""-"",RC[2])"
ActiveCell.Select
Selection.Copy
ActiveCell.Range("A1:A1034").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Traspasos Juridico").Calculate

si pueden ayudarme se los agradeceré
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

RE:calcular rango en visualbasic

Publicado por Mauricio Baeza (262 intervenciones) el 24/09/2005 03:29:08
En el menu Herramienas | Opciones en la ficha Calcular, hay tres modos basicos de recalcular, dos Automatico, Manual y Automatico excepto tablas, evalua si te conviene ponerlo en Manual para calcular solo cuando requieras, esto acelera el calculo, tambien evalua a usar la instruccion

Application.ScreenUpdating = False

esto acelera la ejecucion del codigo, pues no actualiza la pantalla mientras lo hace, solo recuerda al final de tu codigo, volver a activar el modo de actualizacion con

Application.ScreenUpdating = True

Revisa cada linea y verifica que "haga" lo que "quieres que haga", esto lo deduzco de tu comentario -al insertar información se madrea-, primero garantiza que no se "madree" y despues podemos ver otras opciones, por lo pronto toma en cuenta lo siguiente...

Cuando estas en la interfaz de Excel, la unica forma que tiene el usuario de "HACER" algo con los rangos es "seleccionandolos", cuando hacemos una macro (programamos), esto no es asi, NO ES "indispensable", estar seleccionando los rangos, "muchas" de las operaciones o acciones sobre los rangos, se pueden hacer sin el metodo Select
Procura, en la medida de lo posible, NO usar ActiveCell, hay ocasiones, en que el usuario "podria" llegar a alterar la posicion de la celda activa

Saludos
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

RE:calcular rango en visualbasic

Publicado por Julian (10 intervenciones) el 21/06/2009 23:23:56
Amigo tu me podrias ayudar a obtener en una variable el valor en de todas las celdas usadas(que contengan datos) en una hoja de excel.
Gracias.
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