将VBA转换为Javascript(Google Apps脚本)

时间:2017-05-30 07:48:59

标签: javascript excel vba excel-vba

我想将我的VBA转换为可用于Google Apps脚本的内容。

Sub Macro5()
'
' Macro5 Macro
'

'
    Range("B2").Select
    Selection.Copy
    Range("B15").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Rows("15:15").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B2").Select
End Sub

我最终得到了这个:

function Macro5(){

Range("B2").Select;
Selection.Copy;
Range("B15").Select;
Selection.Paste;
=xlPasteValues, Operation;
=xlNone, SkipBlanks;
=False, Transpose;
=False;
Application.CutCopyMode = False;
Rows("15:15").Select;
Selection.Insert Shift;
=xlDown, CopyOrigin;
=xlFormatFromLeftOrAbove;
Range("B2").Select;
}

但它没有成功。在这里谁知道如何使这项工作?

功能:需要选择B2并复制单元并将其粘贴在B15上,在其上方创建一行,单击Esc并再次选择B2。我希望将它集成在一个按钮中。

1 个答案:

答案 0 :(得分:1)

虽然在这个网络中我不同意这样的请求,但今天我想通过发布这4行代码来帮助你。 无论如何,我强烈建议你不要在这个网络上提出这样的任何其他要求。

感谢您的友好合作。

function Macro5() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var last = sheet.getLastColumn();
  sheet.getRange(2,2).copyTo(sheet.getRange(15, 2));
  sheet.insertRowAfter(15);

  var data = sheet.getRange(15,1, 1, last).getValues();
  var dest = [];
  for (var i = 0; i < data.length; i++ ) { dest.push(data[i]); }

  if (dest.length > 0 ) { sheet.getRange(16,1,1,last).setValues(dest); } 

  sheet.getRange(2, 2).activate();
}