Función suma en excel

Hola valedor realice una macro y no me salió un detalle, exporto archivos *.txt y formateo, llego a una sección donde necesito sumar, como tienen diferentes cantidades de filas los archivos no me funciona, ya que la macro hace referencia especifica al número de filas en donde se creo...
Quisiera saber como automatizo de la misma manera que cuando se hace click en la función autosuma... Ya vez que al oprimir el botón selecciona automáticamente todas las cantidades que esté arriba de ella, pero al dar enter es cuando la macro especifica celdas, no quiero que especifique sino que siempre seleccione todas las de arriba, así sean 10 o 20 o 30 que funcione automáticamente, Gracias

1 respuesta

Respuesta
1
Que bueno que intentes hacer tus macros, es la mejor manera de aprender, pero te ayudaría mucho mejor si pusieses el código que usaste, no obstante, prueba lo siguiente:
En las celdas A1 hasta A5 pon algunos numero por ejemplo
10
20
30
40
50
Pon el cursor en la celda A6 y ejecuta la siguiente macro
Public Sub SumarVariable()
Dim strRango As String
strRango = "=SUMA(A1:"
strRango = strRango & ActiveCell.Offset(-1, 0).Address(False, False)
strRango = strRango & ")"
ActiveCell.FormulaLocal = strRango
End Sub
Ahora agrega más datos después de A6 digamos hasta la A10, pon el cursor en A11 y vuelve a ejecutar la macro, veras que el rango de la suma se ajusta, pero esto tiene muchas variantes, pero creo que es algo muy parecido a lo que quieres...
Gracias por tu ayuda se que haces un gran esfuerzo, estuve probando lo que me enviaste y es muy bueno solo que si estoy debajo de de la columna A1 me funciona pero si colocó números en la primera columna (A) y en la columna C por ejemplo y me colocó al final de C me suman lo de la Columna A y C la macro que me enviaste y yo lo que quiero hacer es sumar todo lo que esta arriba de donde estoy colocado pero de esa columna solamente, así sea C, DE, E. que no se meta con otras... Gracias Valedor por tu ayuda...
Sub Importar_balanza()
'
' Importar_balanza Macro
' Macro grabada el 03/02/2002 por Pre-Installed
'
' Acceso directo: CTRL+j
'
miarchivo = Application.GetOpenFilename("archivos de texto,*.txt")
Workbooks.OpenText Filename:=miarchivo, Origin:=xlWindows, _
StartRow:=21, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array( _
14, 1), Array(48, 1), Array(64, 1), Array(80, 1), Array(96, 1), Array(112, 1)), _
TrailingMinusNumbers:=True
Columns("A:G").Select
Columns("A:G").EntireColumn.AutoFit
Range("a1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveCell.Offset(2, 2).Range("a1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Style = "Currency"
Range("A1").Select
ActiveCell.SpecialCells(xlLastCell).Select
' Este es el que me enviastes Valedor
ActiveCell.Offset(-1, -3).Range("a1").Select
Dim strRango As String
strRango = "=SUMA(A1:"
strRango = strRango & ActiveCell.Offset(-1, 0).Address(False, False)
strRango = strRango & ")"
ActiveCell.FormulaLocal = strRango
' y este es el que produce la suma pero que me
' condiciona a solo las filas 3 a 23 la desactive para integrar la
' que me hiciste favor de enviarme
' ActiveCell.FormulaR1C1 = "=SUM(R[-23]C:R[-2]C)"
Selection.Copy
ActiveCell.Offset(0, 1).Range("a1").Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveSheet.Paste
Range("A1").Select
Application.CutCopyMode = False
End Sub
Gracias por tu ayuda valedor, he resuelto mi problema gracias a tu gran ayuda
Con estas tres lineas resuelves el problema, pruébalas, saludos...
strRango = "=SUM(R[-" & Format(ActiveCell.Row - 3)
strRango = strRango & "]C:R[-2]C)"
ActiveCell.FormulaR1C1 = strRango

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas