【问题标题】:Office JS: Is there a way to find the last row with data in on an excel sheet so that i can then copy that information onto another sheet?Office JS:有没有办法在 Excel 工作表上找到最后一行数据,以便我可以将该信息复制到另一张工作表上?
【发布时间】:2025-12-31 15:05:12
【问题描述】:

我以前使用 VBA 来查找包含 excel 表上数据的最后一行,并使用它将该表上的特定单元格复制到另一个 excel 表中,但是我们现在已经开始在线使用 excel,所以我想知道是否有什么办法可以在 office JS 中复制它?

下面是我之前用来参考的VBA代码示例,有什么方法可以轻松地将其转换为office JS?

子表单创建()

ThisWorkbook.Sheets("Data").Activate
ThisWorkbook.Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Select
ThisWorkbook.Sheets("Form").Range("A1") = Sheets("Data").Range("A" & (ActiveCell.Row))
ThisWorkbook.Sheets("Form").Range("B4") = Sheets("Data").Range("B" & (ActiveCell.Row))
ThisWorkbook.Sheets("Form").Range("F1") = Sheets("Data").Range("C" & (ActiveCell.Row))
ThisWorkbook.Sheets("Form").Range("E3") = Sheets("Data").Range("D" & (ActiveCell.Row))
ThisWorkbook.Sheets("Form").Range("F4") = Sheets("Data").Range("E" & (ActiveCell.Row))
ThisWorkbook.Sheets("Form").Range("D2") = Sheets("Data").Range("F" & (ActiveCell.Row))

结束子

谢谢 杰米

【问题讨论】:

    标签: excel office-js


    【解决方案1】:

    试试这个:使用Worksheet.getUsedRange 方法获取包含数据的整个范围。然后在返回的 Range 对象上,调用Range.getLastRow 方法。然后读取返回的 Range 对象的Range.values 属性。

    【讨论】:

      【解决方案2】:

      您需要先获取当前工作表,使用范围,然后获取最后一行。

      function main(workbook: ExcelScript.Workbook) {
      
          //get the current sheet
          let selectedSheet = workbook.getActiveWorksheet();
      
          //get the current used range and lastRow
          let myUsedRange = selectedSheet.getUsedRange();
          let lastRow = myUsedRange.getRowCount();
          
          //print
          console.log(lastRow);
      }
      

      【讨论】:

        最近更新 更多