簡體   English   中英

根據單元格值將行復制並粘貼到另一個工作表

[英]Copy and Paste Rows to another worksheet based on a cells value

摘要:我有一個名為“工作列表”的選項卡,在 AI 列中是一個是/否/空白字段。 每天一次(可能使用一個按鈕,可能創建一個電源自動化流程,還不確定),我們想要運行一個腳本,將“是”行移動到另一個名為“已完成”的工作表(粘貼為值)。

我是腳本的超級新手並且不擅長 VBA(正在處理它),所以我已經盡可能多地閱讀但不太了解如何完成這項工作。 我最初有一個宏設置,但很快了解到在線工作簿不喜歡這樣......

斗爭主要是“工作列表”選項卡( Working List Tab ); 列 B - AH 是數據透視表(Power 查詢連接到 Power BI 數據集)。 A 列和 AI - AN 是表,只是因為我想看看這是否有所不同(A 列 = 表名“Claimed”;AI - AN = 表名“Completed_WL”)。 “已完成”選項卡完全是一個表(表名 - 表 2),以防有所不同。

我需要將整行 A - AN 粘貼為值。 我不需要它來刪除行——一旦數據集更新,它就會被過濾掉。

我試過使用“記錄”選項,但它只復制和粘貼第一行。 我不確定要添加/更改什么以僅復制可見:

function main(workbook: ExcelScript.Workbook) {
    let completed_WL = workbook.getTable("Completed_WL");   
    completed_WL.getColumnByName("Completed").getFilter().applyValuesFilter(["Yes"]);
    let table2 = workbook.getTable("Table2");
    let selectedSheet = workbook.getActiveWorksheet();
                   table2.getColumn("Claimed").getRangeBetweenHeaderAndTotal().getRow(0).copyFrom(selectedSheet.getRange("A5:AN5"), ExcelScript.RangeCopyType.values, false, false);
        completed_WL.getColumnByName("Completed").getFilter().clear();
}

任何幫助將不勝感激!!

您可以嘗試更新代碼以使用變量來獲取最后一行。 完成之后,您可以將其集成到復制語句中以復制數據。 您可以在下面的代碼中看到它的外觀:

function main(workbook: ExcelScript.Workbook) {
  let completed_WL = workbook.getTable("Completed_WL");
  completed_WL.getColumnByName("Completed").getFilter().applyValuesFilter(["Yes"]);
  let table2 = workbook.getTable("Table2");
  let selectedSheet = workbook.getActiveWorksheet();
  let lastRow = selectedSheet.getCell(selectedSheet.getRange().getRowCount() - 1, 0).getRangeEdge(ExcelScript.KeyboardDirection.up)
  table2.getColumn("Claimed").getRangeBetweenHeaderAndTotal().getRow(0).copyFrom(selectedSheet.getRange(`A5:AN${lastRow}`), ExcelScript.RangeCopyType.values, false, false);
  completed_WL.getColumnByName("Completed").getFilter().clear();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM