Convert VBA to Javascript (Google Apps Script)

北城余情 提交于 2020-04-12 07:41:22

问题


I would like to convert my VBA to something I can use for Google Apps Script.

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

And I ended up with this:

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;
}

But it didn't work out. Anyone here who knows how to make this work?

Function: It needs to select B2 and copy the cell and paste it on B15, create a row above it, click on Esc and select B2 again. I want this integrated in a button.


回答1:


Although in this network I do not agree to do this kind of request, today I want to give you my help by publishing these 4 lines of code. Anyway, I strongly advise you not to make any other requests like this in this network.

Thank you for your kindly cooperation.

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();
}


来源:https://stackoverflow.com/questions/44256491/convert-vba-to-javascript-google-apps-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!