gpt4 book ai didi

excel - 是否可以在办公脚本中将数据从一张表复制、粘贴和删除到另一张表?

转载 作者:行者123 更新时间:2023-12-04 21:42:40 29 4
gpt4 key购买 nike

我在 SharePoint 上保存了一个文档,其中记录了测试。
测试完成后,我想将测试(整行)移动到单独的表中以存档测试计划,在下一个空行中向下,并且因为它现在已存档,所以将其从提交表中删除。
两张工作表都在同一个工作簿中。每次运行脚本时行数都不同,因此脚本代码需要根据用户的选择输入工作(在运行脚本之前或由脚本提示)。
我在 VBA 中管理了这个。我找不到选择功能的可行替代方案。有什么方法可以将下面的 VBA 代码转换为 Office 脚本,以便在线 Excel 中发生同样的事情?

Sub MoveCompletedTests()

Selection.Copy Sheets("Archive - ATL staff only").Range("A1048576").End(xlUp).Offset(1, 0)

Selection.Delete

End Sub
我在“样本提交”表上有一个按钮,该按钮在该表上的选定范围上运行上述代码,将其移动到“存档 - 仅限 ATL 员工”表。
我尝试使用脚本记录器,但脚本不允许选择足够动态,它为单元格范围编码,而不仅仅是选择。

最佳答案

我认为类似于 getSelectedRange应该可以工作(至少,如果您不一次使用多个选定范围):

    function main(workbook: ExcelScript.Workbook)
{
let destination: ExcelScript.Range;
let source = workbook.getSelectedRange().getEntireRow();
let archive = workbook.getWorksheet("Archive - ATL staff only");
if(archive.getUsedRange() == undefined) {
// if the archive sheet is empty, use the first row as a destination
destination = archive.getRange("1:1");
}
else {
// ... otherwise, use the next row after the last used
destination = archive.getUsedRange().getRowsBelow().getEntireRow();
}
destination.copyFrom(source, ExcelScript.RangeCopyType.values);
source.delete(ExcelScript.DeleteShiftDirection.up);
}
p.s.需要明确的是,在 VBA 的情况下,选择是 property of Application .但对于 ExcelScript,它是 method of a Workbook object .这可能有点令人困惑,因为有一个 ExcelScript.Application界面,其中没有提到选择。

关于excel - 是否可以在办公脚本中将数据从一张表复制、粘贴和删除到另一张表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72027599/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com