2016-01-21 52 views
0

我在繞開這個問題時遇到了麻煩。Google表格應用程序腳本 - 菜單項鍊接採購訂單號到裝箱單#

我有一張帶客戶採購訂單的工作表。

這裏是一個非常簡單化片例子在這裏: https://docs.google.com/spreadsheets/d/151h1XjB98NOBnO0otNaql3ASjK84CccZZ399dX4BMBM/edit?usp=sharing

我需要一種方法來裝箱單#在一份訂單鏈接到客戶的採購訂單號的匹配列表。

使用某種複製單元格值「裝箱單G2!」其中「訂單!C:C」 =「裝箱單G5!」到「訂單d!d」

你是否認爲這是可行的?

謝謝。

被砸碎了,我整理了一些我一直在嘲笑的東西,並且會在早上離開這裏,希望我能更好地理解。

function linkPackNumToPo() { 
var activeSheet = SpreadsheetApp.getActive(); 
var ps = activeSheet.getValue("G2"); 
var po = activeSheet.getValue(G5); 

}

所以我不能想出一個辦法做類似的操作使用的應用程序腳本VLOOKUP。

所以,現在我想我需要寫一張單獨的記錄,每個採購訂單#也與包裝單#和/或銷售訂單#相關聯。

我正在使用以下代碼將日期,公司,採購訂單,裝箱單複製到另一張工作表,作爲將採購訂單與裝箱單匹配的關鍵。

還添加了一些明確的內容來重置裝箱單, 然後例行程序自動遞增裝箱單#,使用L3作爲關鍵值。

function clearPackingList() { 
     var ss = SpreadsheetApp.getActive(); 
     var sheet = ss.getSheetByName("PackSlip"); 
     var source = sheet.getRange("N3:Q3"); 
     var target = ss.getSheetByName("OrderKey"); 
     var values = source.getValues(); 
     target.appendRow(values[0]); 

    sheet.getRange('C6').clearContent(); 
    sheet.getRange('C9').clearContent(); 
    sheet.getRange('C10').clearContent(); 
    sheet.getRange('B11').clearContent(); 
    sheet.getRange('B12').clearContent(); 
    sheet.getRange('H6:H8').clearContent(); 
    sheet.getRange('F11').clearContent(); 
    sheet.getRange('G11').clearContent(); 
    sheet.getRange('H14:H77').clearContent(); 
    var cell = sheet.getRange("L3"); 
    var cellValue = cell.getValue(); 
    cell.setValue(cellValue + 1); 
    }; 

我需要在下一個添加菜單項,並找出如何寫到Orders表匹配採購訂單的裝箱單,

還致力於搞清楚如何打印單元的範圍。

+0

是的,這是可行的。你嘗試了什麼? – iJay

+0

我習慣於使用簡單的表單功能,但我不希望結果值是實時計算,而是設置。我認爲可能有一種方法可以使用getValue(packingslip單元格)將setValue(packingslip值)複製到(範圍,匹配訂單欄中客戶PO#旁邊的單元格) – Mars

+0

上面添加了我嘗試過的,但不是我所做的真的想要... – Mars

回答

0

好了,所以我有一個工作「雜牌」

function onOpen() { 
    var ui = SpreadsheetApp.getUi(); 
    // Or DocumentApp or FormApp. 
    ui.createMenu('Custom Menu') 
     .addItem('Submit Packing List', 'menuItem1') 
     .addToUi(); 
} 

function menuItem1() { 
    var ss = SpreadsheetApp.getActive(); 
    var sheet = ss.getSheetByName("PackSlip"); 
    var source = sheet.getRange("N3:Q3"); 
    var target = ss.getSheetByName("psKey"); 
    var values = source.getValues(); 
    target.appendRow(values[0]); 

    sheet.getRange('C6').clearContent(); 
    sheet.getRange('C9').clearContent(); 
    sheet.getRange('C10').clearContent(); 
    sheet.getRange('B11').clearContent(); 
    sheet.getRange('B12').clearContent(); 
    sheet.getRange('H6:H8').clearContent(); 
    sheet.getRange('F11').clearContent(); 
    sheet.getRange('G11').clearContent(); 
    sheet.getRange('H14:H77').clearContent(); 
    var cell = sheet.getRange("L3"); 
    var cellValue = cell.getValue(); 
    cell.setValue(cellValue + 1); 
}; 

它提交客戶採購單和裝箱單到另一片作爲一個密鑰表。

然後,我必須創建一個查詢表來引用psKey(裝箱單密鑰表),以便將匹配關係返回到已在客戶的採購訂單#上發貨的內容以及回購訂單上的內容。

如果找到一種方法直接將訂單表與包裝清單ID匹配到客戶採購訂單ID,但我無法找到使用Google應用程序腳本執行此操作的方式,因爲它已超過我的頭。