如何优化代码以将一个图纸范围复制到另一个图纸范围

艾伦·W。

下面的代码可以工作,但是我认为有一种更优雅的方法。我想将“客户”表(源)上选定行(D:R)的一部分复制到“测试”表(目标)上,再复制到该表中的第一空白行(C:Q)。

该代码可以工作,但看起来表现不佳/不优雅。

function rowSelected() {  
  var customer_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Customer_Info");
  var invoice_sheet =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test");
  var customer_selection_row = customer_sheet.getActiveRange().getRow();
  //Browser.msgBox(customer_selection_row);

  var customer_selection_start = 'D' + customer_selection_row;
  var customer_selection_end = 'R' + customer_selection_row;
  var customer_selection_range = customer_selection_start + ':' + customer_selection_end;
  var source_range = customer_sheet.getRange(customer_selection_range);
  customer_sheet.setActiveRange(source_range);
  //Browser.msgBox(source_range.getA1Notation());

  var invoice_selection_row = getFirstEmptyRowWholeRow();
  var invoice_selection_start = 'C' + invoice_selection_row;
  var invoice_selection_end = 'Q' + invoice_selection_row;
  var invoice_selection_range = invoice_selection_start + ':' + invoice_selection_end;
  var destination_range = invoice_sheet.getRange(invoice_selection_range);
  invoice_sheet.setActiveRange(destination_range);
  //Browser.msgBox(destination_range.getA1Notation());

  customer_sheet.setActiveRange(source_range).copyTo((destination_range), {contentsOnly:true});
}

我在想有一些用更少的代码来做到这一点的方法。

Tanaike
  • 要列“d”在片材的活性范围的行复制到“R”Customer_Info到列“C”到“Q”在由检索到的行getFirstEmptyRowWholeRow()的片材Test
  • 您要激活源范围。

如果我的理解是正确的,那么该修改如何?

修改要点:

  • SpreadsheetApp.getActiveSpreadsheet() 一次被声明为“ ss”。
  • getRange(row, column, numRows, numColumns)用于代替getRange(a1Notation)
  • 关于destination_range,设置起始单元格后,可以从中复制源范围。
  • 当活动工作表为时Customer_Info,将运行脚本。

修改后的脚本:

function rowSelected() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var customer_sheet = ss.getActiveSheet();
  if (customer_sheet.getSheetName() == "Customer_Info") {
    var invoice_sheet = ss.getSheetByName("Test");
    var activeRange = ss.getActiveRange();
    var source_range = customer_sheet.getRange(activeRange.getRow(), 4, activeRange.getNumRows(), 15).activate();
    var destination_range = invoice_sheet.getRange(getFirstEmptyRowWholeRow(), 3); // or invoice_sheet.getRange("C" + getFirstEmptyRowWholeRow())
    source_range.copyTo(destination_range, {contentsOnly: true});
  }
}
  • getFirstEmptyRowWholeRow() 您的脚本的代码也用于上述修改后的脚本。
  • 在此修改后的脚本中,如果要在工作表上选择“ A1:A3”的范围Customer_Info并运行该脚本,则从“ C”列和行中的单元格复制单元格“ D1:R3”的值。getFirstEmptyRowWholeRow()

参考文献:

如果我误解了您的问题,而这不是您想要的,我深表歉意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel VBA缩短代码以将值从一个范围复制到另一个范围

来自分类Dev

将范围从一个容器复制到另一个容器

来自分类Dev

如何为每个循环将范围复制到另一个工作表?

来自分类Dev

将Excel中的不同值从一个范围复制到另一个范围

来自分类Dev

修改代码-将范围复制到另一个电子表格Google表格

来自分类Dev

将所选范围复制到另一个工作表

来自分类Dev

将文件从数值范围复制到另一个文件夹

来自分类Dev

将工作表中的范围复制到另一个工作表 VBA

来自分类Dev

将特定范围从一个工作表复制到另一个工作表

来自分类Dev

VBA将单元格范围复制到另一个工作簿上的范围

来自分类Dev

宏可将一个范围复制到另一个范围,作为值和公式

来自分类Dev

jQuery代码将一个图片源复制到另一个

来自分类Dev

将特定单元格从一个范围复制到另一个范围的不同位置

来自分类Dev

如果行中的其他单元格与值匹配,则将单元格从图纸上复制到另一个单元格

来自分类Dev

如何将一个画布的内容复制到另一个?

来自分类Dev

如何将一个迭代器复制到另一个?

来自分类Dev

如何将一个Google文档复制到另一个

来自分类Dev

选择行并将值复制到另一个范围

来自分类Dev

在VBA Excel中多次将一个范围复制并粘贴到另一个范围的代码

来自分类Dev

将文件从目录复制到另一个目录,且日期在指定范围内

来自分类Dev

通过 VBA 将工作簿的命名范围数据复制到另一个工作簿

来自分类Dev

需要根据第一库仑值将数据范围从一个Excel工作表复制到另一个工作表

来自分类Dev

VBA Excel将公式范围从一个工作表复制到另一个工作表

来自分类Dev

将特定范围的excel单元格从一个工作表复制到另一个工作表

来自分类Dev

在特定日期范围内将文件从一个文件夹复制到另一个文件夹

来自分类Dev

使用单元格属性将范围从一个工作表复制到另一个工作表

来自分类Dev

将单元格范围从一个工作簿工作表复制到另一个工作簿工作表

来自分类Dev

在特定日期范围内将文件从一个文件夹复制到另一个文件夹

来自分类Dev

无法使用“添加范围”将一个类中的列表复制到其他类中的另一个列表

Related 相关文章

  1. 1

    Excel VBA缩短代码以将值从一个范围复制到另一个范围

  2. 2

    将范围从一个容器复制到另一个容器

  3. 3

    如何为每个循环将范围复制到另一个工作表?

  4. 4

    将Excel中的不同值从一个范围复制到另一个范围

  5. 5

    修改代码-将范围复制到另一个电子表格Google表格

  6. 6

    将所选范围复制到另一个工作表

  7. 7

    将文件从数值范围复制到另一个文件夹

  8. 8

    将工作表中的范围复制到另一个工作表 VBA

  9. 9

    将特定范围从一个工作表复制到另一个工作表

  10. 10

    VBA将单元格范围复制到另一个工作簿上的范围

  11. 11

    宏可将一个范围复制到另一个范围,作为值和公式

  12. 12

    jQuery代码将一个图片源复制到另一个

  13. 13

    将特定单元格从一个范围复制到另一个范围的不同位置

  14. 14

    如果行中的其他单元格与值匹配,则将单元格从图纸上复制到另一个单元格

  15. 15

    如何将一个画布的内容复制到另一个?

  16. 16

    如何将一个迭代器复制到另一个?

  17. 17

    如何将一个Google文档复制到另一个

  18. 18

    选择行并将值复制到另一个范围

  19. 19

    在VBA Excel中多次将一个范围复制并粘贴到另一个范围的代码

  20. 20

    将文件从目录复制到另一个目录,且日期在指定范围内

  21. 21

    通过 VBA 将工作簿的命名范围数据复制到另一个工作簿

  22. 22

    需要根据第一库仑值将数据范围从一个Excel工作表复制到另一个工作表

  23. 23

    VBA Excel将公式范围从一个工作表复制到另一个工作表

  24. 24

    将特定范围的excel单元格从一个工作表复制到另一个工作表

  25. 25

    在特定日期范围内将文件从一个文件夹复制到另一个文件夹

  26. 26

    使用单元格属性将范围从一个工作表复制到另一个工作表

  27. 27

    将单元格范围从一个工作簿工作表复制到另一个工作簿工作表

  28. 28

    在特定日期范围内将文件从一个文件夹复制到另一个文件夹

  29. 29

    无法使用“添加范围”将一个类中的列表复制到其他类中的另一个列表

热门标签

归档