Mit Office Skript leere Zeilen in Blättern zählen

Es muss nicht immer ein Makro sein. Wenn Sie mit Excel-Online arbeiten, dann funktionieren Makros nicht. Sie können in diesem Fall auf MS Office Skripte ausweichen. In diesem Artikel zeigen wir anhand eines einfachen Skripts, welches leere Zeilen zählt, wie Sie mit Skripten arbeiten können. In diesem Artikel untersuchen wir TypeScript-Codefragmente, mit denen Sie leere Zeilen auf einem bestimmten Blatt und auf allen Blättern einer Excel-Arbeitsmappe zählen können.

Beispielcode: Leere Zeilen auf einem bestimmten Blatt zählen

Nehmen wir an, Sie haben die folgenden Daten auf einem Blatt.

Das erste Skript dient dazu, den verwendeten Bereich in einem angegebenen Arbeitsblatt zu durchlaufen und die Anzahl der leeren Zeilen zurückzugeben.

Kopieren Sie einfach das folgende Skript und fügen Sie es in den Code-Editor ein. Klicken Sie dann auf Ausführen, um das Skript auszuführen. Achtung: Beachten Sie, dass Sie allenfalls den Blattnamen „Sheet1“ mit ihrem Blattnamen ersetzen müssen. 

function main(workbook: ExcelScript.Workbook): number
{
  // Get the worksheet named "Sheet1".
  const sheet = workbook.getWorksheet('Sheet1'); 
  
  // Get the entire data range.
  const range = sheet.getUsedRange(true);

  // If the used range is empty, end the script.
  if (!range) {
    console.log(`No data on this sheet.`);
    return;
  }
  
  // Log the address of the used range.
  console.log(`Used range for the worksheet: ${range.getAddress()}`);
    
  // Look through the values in the range for blank rows.
  const values = range.getValues();
  let emptyRows = 0;
  for (let row of values) {
    let emptyRow = true;
    
    // Look at every cell in the row for one with a value.
    for (let cell of row) {
      if (cell.toString().length > 0) {
        emptyRow = false
      }
    }

    // If no cell had a value, the row is empty.
    if (emptyRow) {
      emptyRows++;
    }
  }

  // Log the number of empty rows.
  console.log(`Total empty rows: ${emptyRows}`);

  // Return the number of empty rows for use in a Power Automate flow.
  return emptyRows;
}

Dieses Skript verwendet die Excel-JavaScript-API, um mit der Arbeitsmappe zu interagieren. Es ruft das angegebene Arbeitsblatt auf, ermittelt den verwendeten Bereich und durchläuft jede Zeile, um festzustellen, ob sie leer ist. Das Ergebnis wird dann protokolliert und die Anzahl der leeren Zeilen zurückgegeben.

Ausgabe des Skripts:

 

Beispielcode: Leere Zeilen auf allen Blättern zählen

Das zweite Skript erweitert die Funktionalität, um leere Zeilen auf allen Blättern in der Arbeitsmappe zu zählen. Es verwendet eine Schleife, um jedes Arbeitsblatt zu durchlaufen, ähnlich wie beim vorherigen Skript.

Nehmen wir an, Sie haben die gleichen folgenden Daten auf drei Blättern.

Auch hier kopieren Sie einfach das folgende Skript und fügen es in den Code-Editor ein. Klicken Sie dann auf Ausführen, um das Skript auszuführen

function main(workbook: ExcelScript.Workbook): number
{
  // Loop through every worksheet in the workbook.
  const sheets = workbook.getWorksheets();
  let emptyRows = 0;
  for (let sheet of sheets) {     
    // Get the entire data range.
    const range = sheet.getUsedRange(true);
  
    // If the used range is empty, skip to the next worksheet.
    if (!range) {
      console.log(`No data on this sheet.`);
      continue;
    }
    
    // Log the address of the used range.
    console.log(`Used range for the worksheet: ${range.getAddress()}`);
      
    // Look through the values in the range for blank rows.
    const values = range.getValues();
    for (let row of values) {
      let emptyRow = true;
      
      // Look at every cell in the row for one with a value.
      for (let cell of row) {
        if (cell.toString().length > 0) {
          emptyRow = false
        }
      }
  
      // If no cell had a value, the row is empty.
      if (emptyRow) {
        emptyRows++;
      }
    }
  }

  // Log the number of empty rows.
  console.log(`Total empty rows: ${emptyRows}`);

  // Return the number of empty rows for use in a Power Automate flow.
  return emptyRows;
}

Dieses Skript erweitert das vorherige, indem es alle Blätter in der Arbeitsmappe durchläuft. Es berechnet die Gesamtzahl der leeren Zeilen über alle Blätter hinweg und bietet so einen umfassenden Überblick.

Ausgabe des Skripts:

 

Fazit

TypeScript-Codes ist eine super Alternative, wenn Sie keine Makros verwenden dürfen. Skripte funktionieren sowohl Betriebssystemübergreifend sowie direkt im Browser, wenn Sie Excel-Online starten. Unabhängig davon, ob Sie mit einem bestimmten Blatt arbeiten oder eine ganzheitliche Ansicht über mehrere Blätter benötigen, können diese Skripte angepasst und in Ihren Workflow (Siehe PowerAutomate) integriert werden, wodurch die Effizienz und Genauigkeit der Datenverwaltung verbessert wird.

Benötigen Sie einen Excel-Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes sowie generell Microsoft-Produkte ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen