Jump to content
  • Debido a la crisis sanitaria, hasta el día 31 de marzo, el registro al foro de Ayuda Excel será totalmente gratuito para facilitar el teletrabajo. Todos los registros que se produzcan entre estas fechas tendrán acceso gratuito ilimitado a la comunidad hasta el 30 de abril.

    Regístrate

    Si te surge alguna duda mientras estás trabajando en casa con Excel, ya tienes a quien preguntar.

    Espero que esta medida te sirva de ayuda. Frenar la expansión del coronavirus depende de todos. Sé responsable.

intimdq

Al ejecutar macros las formulas no funcionan

Recommended Posts

Antes que nada, un saludo a todos y gracias por su ayuda. El problema que tengo es el siguiente:

Al ejecutar macros estos me copian bien los valores, y reescriben las fórmulas, pero estas no se ejecutan. En la casilla queda #¿NOMBRE?. Lo que tengo que hacer es ir a la casilla modificar de cualquier forma la formula de la celda -como poner un espacio- luego darle enter y ahí reaparecen los valores correctos de la formula. El problema no es que no se calcula nuevamente la formula o que no se actualiza la “hoja de cálculos” sino que no funciona la formula bajo ninguna circunstancia, F9, enter, etc. Hasta que esta no se modifica.

Estas son las formulas utilizadas

H8=> =SUMA(-C8-E8+F8)
C3=> =SUMA (H8:H508)
C4=> =SUMA(C8:C508)+SUMA(E8:E508)
F4=> =SUMAR.SI.CONJUNTO($H$8:$H$508;$A$8:$A$508;">="&F2;$A$8:$A$508;"<="&F3)

#¿NOMBRE? es lo que pone en la casilla del resultado.

 

Share this post


Link to post
Share on other sites

avalencia gracias, luego de leer lo que me pasaste, como trabajo en hoja de calculo on line, tuve que modificar el idioma y el sitio de residencia, al ingles. De esa forma funciona todo bien, pero si vuelvo al español, las formulas echas con macros ya me dan error. (si no modificaba el idioma, por mas de que yo ponía la formula en ingles, me la cambiaba al español de forma automática. Pero bueno no es una solución que me guste mucho......

Share this post


Link to post
Share on other sites

Ejemplo para F4:

Range("F4").FormulaLocal = "=SUMAR.SI.CONJUNTO($H$8:$H$508;$A$8:$A$508;"">=""&F2;$A$8:$A$508;""<=""&F3)"

o también
Range("F4").Formula = "=SUMIFS($H$8:$H$508,$A$8:$A$508,"">=""&F2,$A$8:$A$508,""<=""&F3)"
 

En el caso de FormulaLocal debes usar el separador que tengas definido en Excel, en el ejemplo el punto y coma (;), en el caso de Formula, debes usar obligatoriamente la coma (,) como separador y el nombre de la función en Inglés.

Edited by Antoni

Share this post


Link to post
Share on other sites

Estimado Antonio, estoy usando esta formula:" =SUMIFS($H$8:$H$508,$A$8:$A$508,">="&F2,$A$8:$A$508,"<="&F3)" y si en  Archivo-Configuración de hoja de calculo- pestaña general, apartado configuración regional coloco "Argentina", me da error. En cambio si pongo "Estados Unidos" funciona de maravilla. Pero me obliga a usar "," para separar los "miles" 1,000 en vez de 1.000.

Share this post


Link to post
Share on other sites

Estimado avalencia, gracias por su mensaje, le comento este es el macro que utilizo:

Por otro lado trabajo con hoja de calculo de google adjunto imagen. Creo que se le llama excel on line, o estoy equivocado?

 

 

function Vendido3() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A4:H4').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Venta'), true);
  spreadsheet.getRange('8:8').activate();
  spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
  spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Stock'), true);
  spreadsheet.getRange('G5').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Venta'), true);
  spreadsheet.getRange('A8').activate();
  spreadsheet.getRange('Stock!G5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Stock'), true);
  spreadsheet.getRange('B5:F5').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Venta'), true);
  spreadsheet.getRange('B8:F8').activate();
  spreadsheet.getRange('Stock!B5:F5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.getRange('H8').activate();
  spreadsheet.getActiveRangeList().setNumberFormat('"$"#,##0');
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Stock'), true);
  spreadsheet.getRange('H5').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Venta'), true);
  spreadsheet.getRange('G8').activate();
  spreadsheet.getRange('Stock!H5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.getRange('H8').activate();
  spreadsheet.getCurrentCell().setFormula('=SUM(-C8-E8+F8)');
  spreadsheet.getRange('C3').activate();
  spreadsheet.getCurrentCell().setFormula('=SUM(H8:H508)');
  spreadsheet.getRange('C4').activate();
  spreadsheet.getCurrentCell().setFormula('=SUM(C8:C508)+SUM(E8:E508)');
  spreadsheet.getRange('F4').activate();
  spreadsheet.getCurrentCell().setFormula('=SUMIFS($H$8:$H$508,$A$8:$A$508,">="&F2,$A$8:$A$508,"<="&F3)');
  spreadsheet.getRange('H4').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Stock'), true);
  spreadsheet.getRange('A5:H5').activate();
  spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
  spreadsheet.getRange('A5').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Venta'), true);
};

 

 

thump_9919833web.jpg

Share this post


Link to post
Share on other sites

Jejeje, ahora se entiende mejor. Algunas aclaraciones:

- No, Excel no es lo mismo que la Hoja de Cálculo de Google

- No, Excel OnLine es otra cosa, en si la Hoja de Cálculo de Google es un programa online

- No, la Hoja de Cálculo de Google no usa macros de VBA, sus macros son en un lenguaje llamado  Google Apps Script

- Este es un foro de Excel, lo ideal sería que vayas a un foro de Google y  y/o Google Apps Script

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png