2017-05-30 294 views
-2

我想將我的VBA轉換爲可用於Google Apps腳本的東西。將VBA轉換爲Javascript(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

把花括號輪VBA函數不使它的JavaScript ....我建議你去實際看一下如何編寫一些基本的JavaScript,研究谷歌表API和然後進行真正的嘗試並轉換代碼。文檔中甚至有很多例子可以解釋這個事情。 –

+0

感謝我所知道的答案。事情是,我真的需要得到這個工作,我希望我會在這裏找到更好的答案Stackoverflow。 – Kaizoku

+0

你有沒有試過爲此編寫任何JavaScript? –

回答

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