问题
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