馃搳 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

Imagen
 Si trabajas en una oficina, seguro te enfrentas a tareas repetitivas que consumen mucho tiempo, como copiar datos de una tabla en Word a una hoja de Excel.   Afortunadamente, existe una forma de automatizar este proceso mediante macros en Word, lo que te permitir谩 ahorrar tiempo y esfuerzo, y enfocarte en tareas m谩s importantes. ¿Qu茅 es una macro? Una macro es una secuencia de instrucciones que te permite automatizar tareas repetitivas en aplicaciones como Word y Excel. Utilizando el lenguaje VBA (Visual Basic for Applications), puedes escribir c贸digos que realicen tareas como copiar tablas de un documento de Word y pegarlas en una hoja de Excel con solo hacer clic en un bot贸n. ¿Por qu茅 deber铆a usar una macro para convertir tablas de Word a Excel? Ahorra tiempo : Si trabajas con grandes cantidades de datos, una macro puede copiar todo de una tabla a Excel de forma r谩pida y precisa. Minimiza errores : El proceso manual de copiar y pegar puede dar lugar a errores humanos, ...

馃搳 Macros en Google Sheets: Automatizaci贸n y Ejemplos Pr谩cticos

Google tiene  una versi贸n gratuita para Hojas de c谩lculo mejor conocidas por el software m谩s utilizado del mundo Excel de Microsoft, en d铆as anteriores ten铆a que crear una plantilla en Google Sheets pero ten铆a que hacer lo mismo que hac铆a mi plantilla en Excel, solo que mi plantilla tiene macros y de ah铆 el tema de hoy: explicarles como es que pueden incorporar macros en Google Sheets.

Ejemplo de macro en Google Sheets para automatizar tareas en hojas de c谩lculo.


  1. Primer paso entender la l贸gica de mi programa, cuales eran los pasos en visual basic.
  2. Pens茅 que lo mas f谩cil era hacer una traducci贸n del c贸digo de mi macro al c贸digo de Google Sheet, as铆 que abr铆 mi macro de Excel y comenc茅 buscar como se llamaban las instrucciones y buscar en Google la instrucci贸n de equivalencia.
  3. Comenzar a probar cada l铆nea que agregaba, para ver que hicieran la funcionalidad que yo quer铆a.
  4. Mejorar la macro de Visual Basic.

El resultado final es 


Como nota adicional si quieres grabar sus v铆deos como el que muestre, solo tienen que utilizar Power Point
https://support.microsoft.com/es-es/office/recortar-un-v%C3%ADdeo-1fc386f2-8404-43e8-9dbd-fee3a11a1d8f#:~:text=Para%20guardar%20una%20copia%20independiente,un%20nivel%20de%20compresi%C3%B3n%20adecuado.

El c贸digo que utilice

/** @OnlyCurrentDoc */


function Calcular_consolidado_periodo() {

 var vcperiodo =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange("M2").getValue();

  SpreadsheetApp.getUi().alert(vcperiodo);

 var vifilain = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getLastRow() ;

 var vifila = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getLastRow() ;

 var indcat = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Categorias").getLastRow() ;

 var vctotal = 0;

 var vifila2 = 3;

 var indicecat = 1; 

 var categoria = "";

 vifila = vifila + 1;

  

  do{

     categoria = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Categorias").getRange(indicecat, 1).getValue()

     SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).setValue(categoria);

     indicecat = indicecat + 1;

      vifila = vifila + 1;

  }while(indicecat < indcat);

  

  vifila = vifilain;

  vifila = vifila + 1;

  

  do {


     vifila2 = 3

     vctotal = 0

     

     do{

       if (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 5).getValue() == vcperiodo &&

           SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 2).getValue() ==  

           SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).getValue())

       {

          var valor = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 4).getValue();

          vctotal = vctotal + valor;

       }         

       vifila2 = vifila2 + 1

     }while (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 5).getValue() != "");

    

       SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 1).setValue(vcperiodo);

       SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 3).setValue(vctotal);

       

       vifila = vifila + 1 ;

} while (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).getValue() != "" );

  

};

El c贸digo de la Macro en Excel vs Google Sheets

Ejemplo de macro en Google Sheets para automatizar tareas en hojas de c谩lculo.

El tema me parece muy interesante, porque tambi茅n como ve铆amos en otro post previo TypeScript el nuevo lenguaje utilizado para programar macros online Typescript el sustituto de VB tambi茅n esta basado en Javascript, cada vez veo m谩s aplicaciones a este lenguaje.

Espero esta pagina les sea de utilidad, nos sigan, nos compartan en este blog o en la p谩gina de Facebook https://www.facebook.com/Programacionparatodosmsg/

Comentarios

馃殌 Mantener este blog funcionando requiere tiempo y caf茅. ¡Puedes contribuir con uno aqu铆!

Entradas m谩s populares de este blog

Gu铆a Pr谩ctica: Ejemplo Completo de ASPX para Desarrolladores Web

Macro de Excel para abrir archivo csv

API de banxico para obtener tipo de cambio utilizando Javascript