2013-11-26 90 views
0

我想刪除基於活動單元格的行數據。我查看了Google的文檔,但我無法弄清楚如何做到這一點。我也搜索了論壇,發現了幾個類似的場景,但是我無法實現。我試圖通過根據數組中的值刪除行來刪除行,但這也不起作用。我相信我在這裏過於複雜。這裏是我迄今爲止的代碼...基於活動單元格刪除行

function clearProject() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var source = ss.getSheetByName('Projects'); 
    var sourceArray = source.getRange(1,1,10).getValues(); 
    var sourceCell = source.getActiveCell(); 
    var sourceData = sourceCell.getValues(); 
    //var sourceRow = sourceCell.getRange(sourceCell,); 
    var target = ss.getSheetByName('Timeline').getRange(1, 1, 10).getValues(); 

    for (var i = 0; i < sourceArray.length; i++){ 
    if(i == sourceData){ 
     sourceCell.clearContent(); 
    } 
    } 

謝謝你的任何幫助,你可以負擔得起!

回答

0

這可能是這麼簡單:

function delRowsInActiveRange() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var source = ss.getActiveRange(); 
    var height = source.getValues().length; 
    var rowPosition = source.getRowIndex(); 
    ss.getActiveSheet().deleteRows(rowPosition, height); 
} 

此功能會刪除所有包括選定單元格的行。

+0

這是一個更簡單的解決方案,我在想。謝謝。 – dericcain

1

因的GetValues首先你不能比較喜歡這個if(i == sourceData)的返回

...值的這個範圍的矩形網。返回一個 值的二維數組,按行,然後按列索引。 值可能是Number,Boolean,Date或String類型,具體取決於單元格的值。空單元格將由數組中的空字符串 表示。請記住,儘管範圍索引從1,1,開始,JavaScript數組將從[0] [0]索引。

,我沒聽清楚你的目標,你可以plesae添加一些更多的解釋?

+0

謝謝你的解釋。在這一點上,我還沒有完全將自己的頭圍繞在陣列上。 – dericcain