snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาอื่น ๆ ที่ไม่เกี่ยวกับ Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#1
Post
by wisitsakbenz » Thu Mar 30, 2023 9:40 am
เรียน อาจารย์
ต้องการให้ 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)
}
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Thu Mar 30, 2023 11:35 am
ไม่สามารถ Edit ได้ ปรับให้ผู้ตอบสามารถ Edit ได้ด้วยครับ
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#3
Post
by wisitsakbenz » Thu Mar 30, 2023 12:15 pm
เรียน อาจารย์
แก้ไขให้สามารถ edit ได้แล้วครับ
ขอบคุณครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Thu Mar 30, 2023 1:47 pm
ตัวอย่าง 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)
}
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#5
Post
by wisitsakbenz » Thu Mar 30, 2023 2:23 pm
เรียน อาจารย์
ลองกด Save แล้วได้ผลดังภาพครับ ต้องปรับส่วนไหนครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Thu Mar 30, 2023 2:39 pm
รายการที่บันทึกลงคอลัมน์ B ให้ลบ + 1 ทิ้งไป
สิ่งเหล่านี้เช่นการเยื้องบรรทัด เยื้องคอลัมน์ควรลองปรับเองดูก่อนเสมอครับ
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#7
Post
by wisitsakbenz » Thu Mar 30, 2023 2:54 pm
เรียน อาจารย์
แก้ไขได้แล้วครับ แต่ ID มันไม่เรียง 1,2,... ต้องปรับCode อย่างไรครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Thu Mar 30, 2023 3:00 pm
ลบ
-1
ในบรรทัดนี้ทิ้งไปด้วยครับ
no = data.getRange(data.getLastRow()-1, 1) + 1
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#9
Post
by wisitsakbenz » Thu Mar 30, 2023 3:59 pm
เรียน อาจารย์
แก้ไขได้แล้วครับ ผลที่ได้ตามรูปครับ
ID มีค่าเท่ากับ Reang1 ตลอดเลยครับ ต้องปรับ Code อย่างไรครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#10
Post
by snasui » Thu Mar 30, 2023 5:34 pm
เปลี่ยนคำว่า
setValue(no)
เป็น
setValues(no)
ผมไม่ได้สิทธิ์ในการรัน Script จำเป็นต้องมีความละเอียดในการตรวจสอบให้มากกว่าปกติครับ
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#11
Post
by wisitsakbenz » Fri Mar 31, 2023 9:26 am
เรียน อาจารย์
แก้ไขได้แล้วครับ error ที่ได้ตามรูปครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Fri Mar 31, 2023 10:05 am
ลองปรับเป็นด้านล่างครับ
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
wisitsakbenz
Silver
Posts: 531 Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013
#13
Post
by wisitsakbenz » Fri Mar 31, 2023 10:23 am
เรียน อาจารย์
แก้ไขได้แล้ว ผลที่ได้ตามรูปครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#14
Post
by snasui » Fri Mar 31, 2023 10:43 am
ลองปรับ Code ตรงบรรทัดการ Assign ค่าให้ตัวแปร no เป็นด้านล่างครับ
no = data.getRange(data.getLastRow(),1).getValue() + 1
หากยังติดปัญหากรุณาหาทางปรับปรุงมาเองก่อนด้วย หากปรับปรุงเองไม่ได้เลยแม้เพียงเล็กน้อยยังไม่ควรใช้ Google Script ต้องศึกษามาก่อนตามลำดับครับ