
[英]VBA function to paste special from formula as text in separate sheet
[英]Importrange Data from a sheet, then remove the formula and keep the values
我正在尝试获取 Google 表格以将值从一张表格导入另一张表格。 我已经想出如何制作一个绘图作为一个按钮,并触发添加像 importrange 这样的函数来收集数据。
但是,在导入数据后,我希望能够不受 importrange 公式的限制对其进行排序和编辑。 通常我会通过仅复制然后粘贴值来手动执行此操作,但我希望将该步骤作为脚本的一部分完成。
这是我的脚本:
function Cars() {
fetch();
Values1();
}
function fetch() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A4').activate()
.setFormula('=Query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MAv0PdqaxbNpIivlKM4XHh9-SU3ASvZmV0_-eAeBJ5w/edit#gid=637934803","\' Master List\'!$B$3:$H"),"select Col4,Col2,Col7,Col5 where Col4 is not null order by Col4 asc")');
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('I4').activate()
.setFormula('=Query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1MAv0PdqaxbNpIivlKM4XHh9-SU3ASvZmV0_-eAeBJ5w/edit#gid=637934803","\' Master List\'!$B$3:$H"),"select Col1 where Col4 is not null order by Col4 asc")');
}
function Values1() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A4:D121').activate();
spreadsheet.getRange('A4:D121').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
}
当我运行它时,我可以获得要导入的数据,但我无法将数据仅作为值。 可能有更好的方法来做到这一点,但我无法弄清楚。
您可以尝试更改最后两行:
spreadsheet.getRange('A4:D121').setValues(spreadsheet.getRange('A4:D121').getValues());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.