Page 1 of 1
Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 9:40 am
by wisitsakbenz
เรียน อาจารย์
ต้องการให้ Culumn แรก save เป็น ID ต้องปรับ Code อย่างไรครับ
https://docs.google.com/spreadsheets/d/ ... sp=sharing
ขอบคุณครับ
Code: Select all
var ss = SpreadsheetApp.getActiveSpreadsheet()
var form = ss.getSheetByName('Input')
var data = ss.getSheetByName('Data')
var getLastRow = dataSheet.getLastRow();
for(i = 2; i < getLastRow; i++)
{
if(data.getRange(i, 1).getValue() == '')
{
function Submit() {
var values = [[
form.getRange("B2").getValue(),
form.getRange("B4").getValue()]]
data.getRange(data.getLastRow() + 1, 1, 1, 2).setValues(values)
}
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 11:35 am
by snasui
ไม่สามารถ Edit ได้ ปรับให้ผู้ตอบสามารถ Edit ได้ด้วยครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 12:15 pm
by wisitsakbenz
เรียน อาจารย์
แก้ไขให้สามารถ edit ได้แล้วครับ
ขอบคุณครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 1:47 pm
by snasui
ตัวอย่าง Code ตามด้านล่างครับ
Code: Select all
var ss = SpreadsheetApp.getActiveSpreadsheet()
var form = ss.getSheetByName('Input')
var data = ss.getSheetByName('Data')
function Submit() {
var no;
if(data.getLastRow() > 2){
no = data.getRange(data.getLastRow()-1, 1) + 1
}
else {
no = 1
}
data.getRange(data.getLastRow() + 1, 1).setValue(no)
var values = [[
form.getRange("B2").getValue(),
form.getRange("B4").getValue()]]
data.getRange(data.getLastRow() + 1, 2, 1, 2).setValues(values)
}
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 2:23 pm
by wisitsakbenz
เรียน อาจารย์
ลองกด Save แล้วได้ผลดังภาพครับ ต้องปรับส่วนไหนครับ ขอบคุณครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 2:39 pm
by snasui
รายการที่บันทึกลงคอลัมน์ B ให้ลบ + 1 ทิ้งไป
สิ่งเหล่านี้เช่นการเยื้องบรรทัด เยื้องคอลัมน์ควรลองปรับเองดูก่อนเสมอครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 2:54 pm
by wisitsakbenz
เรียน อาจารย์
แก้ไขได้แล้วครับ แต่ ID มันไม่เรียง 1,2,... ต้องปรับCode อย่างไรครับ ขอบคุณครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 3:00 pm
by snasui
ลบ
-1
ในบรรทัดนี้ทิ้งไปด้วยครับ
no = data.getRange(data.getLastRow()-1, 1) + 1
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 3:59 pm
by wisitsakbenz
เรียน อาจารย์
แก้ไขได้แล้วครับ ผลที่ได้ตามรูปครับ
ID มีค่าเท่ากับ Reang1 ตลอดเลยครับ ต้องปรับ Code อย่างไรครับ ขอบคุณครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Thu Mar 30, 2023 5:34 pm
by snasui
เปลี่ยนคำว่า
setValue(no)
เป็น
setValues(no)
ผมไม่ได้สิทธิ์ในการรัน Script จำเป็นต้องมีความละเอียดในการตรวจสอบให้มากกว่าปกติครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Fri Mar 31, 2023 9:26 am
by wisitsakbenz
เรียน อาจารย์
แก้ไขได้แล้วครับ error ที่ได้ตามรูปครับ
ขอบคุณครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Fri Mar 31, 2023 10:05 am
by snasui
ลองปรับเป็นด้านล่างครับ
Code: Select all
'Other code
function Submit() {
var no;
if(data.getLastRow() > 2){
no = data.getRange(data.getLastRow(),1) + 1
}
else {
no = 1
}
//data.getRange(data.getLastRow() + 1, 1).setValues(no)
var values = [[no,
form.getRange("B2").getValue(),
form.getRange("B4").getValue()]]
data.getRange(data.getLastRow() + 1, 1, 1, 3).setValues(values)
'Other code
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Fri Mar 31, 2023 10:23 am
by wisitsakbenz
เรียน อาจารย์
แก้ไขได้แล้ว ผลที่ได้ตามรูปครับ
ขอบคุณครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Fri Mar 31, 2023 10:43 am
by snasui
ลองปรับ Code ตรงบรรทัดการ Assign ค่าให้ตัวแปร no เป็นด้านล่างครับ
no = data.getRange(data.getLastRow(),1).getValue() + 1
หากยังติดปัญหากรุณาหาทางปรับปรุงมาเองก่อนด้วย หากปรับปรุงเองไม่ได้เลยแม้เพียงเล็กน้อยยังไม่ควรใช้ Google Script ต้องศึกษามาก่อนตามลำดับครับ
Re: Google Sheet : ต้องการให้ Culumn แรก save เป็น ID
Posted: Fri Mar 31, 2023 1:17 pm
by wisitsakbenz
เรียน อาจารย์ snasui
ขอบคุณครับ