:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#1

Post by khainui »

คือจะบันทึกข้อมูลลงใน sheet data ซึ่งจะมีเลขที่ No กำกับแต่ละรายการ ปัญหาคือจะเขียนคำสั่ง VBA อย่างไรให้ช่อง C2 แสดงลำดับต่อไปจากเลขที่สุดท้าย
เพื่อจะได้บันทึกรายการได้ทันทีครับ :?:
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#2

Post by bank9597 »

:D ต้องแนบไฟล์มาดูกันครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#3

Post by snasui »

:D ลองตามนี้ครับ

ที่เซลล์ C2 คีย์สูตรตามด้านล่าง

=LOOKUP(9.99999999999999E+307,data!B:B)+1

Enter
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#4

Post by yoguzaa »

ไม่รู้ว่าใช่แบบที่ต้องการหรือเปล่านะครับ
ที่ชีท data!A2 ใส่สูตร =MAX(B:B) เป็นการหาค่าสูงสุดในคอลัมภ์ B
ที่ชีท sheet3!C2 พิมพ์ =data!A2+1 ค่าสูงสุดในคอลัมภ์ B + 1
You do not have the required permissions to view the files attached to this post.
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#5

Post by yoguzaa »

ช้ากว่าอาจารย์อีก แหะ แหะ
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#6

Post by khainui »

เอ่อสูตรที่ให้ของคุณ yoguzaa และอาจารย์ใช้กรณีมีเลขที่เริ่มต้นแล้ว ซึ่งใ่ส่สูตรในช่อง C2

แต่ถ้ากรณีเริ่มต้นตั้งแต่แรกเลย อย่างในปี 2555 ผมเริ่มบันทึกรายการงานเข้างานแรกกำกับด้วย 1 ของปี 2555 ฉะนั้นช่อง c2 ผมจะต้องคีย์เลข 1 ครั้งแรกเลย
แล้วพอจบปี 2555 ขึ้นปี 2556 ผมก็จะเริ่มที่เลข 1 ใหม่ อย่างนี้มันจะใส่สุตรแบบนี้ไม่ได้ใช่ไม๊ครับครับ เพราะในช่อง c2 มันเป็นสูตรการใส่สูตร
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#7

Post by snasui »

:lol: การแสดงตัวเลขขึ้นกับเงื่อนไขใดบ้างควรแจ้งมาทุกเงือนไข เพราะผมจะตอบตามที่ถามครับ :mrgreen:
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#8

Post by khainui »

อ่าครับผมอธิบายไม่ละเอียดเองครับ :rz:

ทีนี้ผมลองเพิ่มสูตรให้อิงตัวเลขตรงช่อง b1 ตามไฟล์แนบ

สูตรของอาจารย์
=IF(B1>1,LOOKUP(9.99999999999999E+307,data!B:B)+1,IF(B1="","",1))

สูตรของคุณ yoguzaa
=IF(B1="","",IF(B1=1,1,data!A2+1))

หน้าจะแก้ปัญหาเริ่มบันทึกตั้งแต่เลขที่ 1 ครั้งแรกได้ โดยไปเปลี่ยนที่ช่อง b1 เป็นเลขอื่นที่ไม่ใช่ 1
แต่ทีนี้พอขึ้นปีใหม่ผมจะเริ่มเป็นเลข 1 ใหม่ มันจะติดคำสั่ง vba ว่าเลข 1 ซ้ำแล้วบันทึกไม่ได้
จะเขียน VBA อย่างไรให้ดูที่ช่อง c4 ด้วยว่าถ้าเป็นปีใหม่แล้วจะถือว่าเลข 1 ไม่ซ้ำครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#9

Post by snasui »

:D อยากทราบว่า Code อยู่ในไฟล์ไหน ชื่อ Module อะไร Sub Procedure ใด เพื่อจะได้เข้าถึงข้อมูลได้โดยไวครับ
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#10

Post by khainui »

ทั้ง 2 ไฟล์มี Code ทั้งคู่เลยครับ

Code: Select all

Private Sub save_Click()
If Range("c2") = "" Then Exit Sub
If Not Worksheets("data").Columns("b:b").Find(Range("c2"), LookIn:=xlValues) Is Nothing Then
MsgBox "เลขที่ซ้ำ! ไม่สามารถบันทึกได้"
Else
i = WorksheetFunction.CountA(Worksheets("data").Columns("b:b")) + 2
Worksheets("data").Cells(i, 2).Value = Range("c2").Value
Worksheets("data").Cells(i, 3).Value = Range("e2").Value
Worksheets("data").Cells(i, 4).Value = Range("e3").Value
Worksheets("data").Cells(i, 5).Value = Range("e4").Value
Worksheets("data").Cells(i, 6).Value = Range("e5").Value
Worksheets("data").Cells(i, 7).Value = Range("e6").Value
Worksheets("data").Cells(i, 8).Value = Range("e7").Value
End If
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#11

Post by snasui »

:D ตามที่ถามมานั้นจะต้องใช้ 2 เงื่อนไขในการตรวจสอบคือ ปี และ No เพื่อให้สามารถ Run No ซ้ำ ๆ กันแต่เป็นคนละปีได้ แต่เนืองจาก ปี ไม่ได้ถูกบันทึกเข้าไปในชีท data ด้วย จึงไม่สามารถใช้ปีในการตรวจสอบได้ครับ
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#12

Post by khainui »

Code: Select all

Private Sub save_Click()
If Range("c2") = "" Then Exit Sub
If Not Worksheets("data").Columns("b:b").Find(Range("c2"), LookIn:=xlValues) Is Nothing Then
MsgBox "เลขที่ซ้ำ! ไม่สามารถบันทึกได้"
Else
i = WorksheetFunction.CountA(Worksheets("data").Columns("b:b")) + 2
Worksheets("data").Cells(i, 2).Value = Range("c2").Value
Worksheets("data").Cells(i, 3).Value = Range("c4").Value
Worksheets("data").Cells(i, 4).Value = Range("e2").Value
Worksheets("data").Cells(i, 5).Value = Range("e3").Value
Worksheets("data").Cells(i, 6).Value = Range("e4").Value
Worksheets("data").Cells(i, 7).Value = Range("e5").Value
Worksheets("data").Cells(i, 8).Value = Range("e6").Value
Worksheets("data").Cells(i, 9).Value = Range("e7").Value
End If
End Sub
ต้องกำหนดเงื่อนไขอย่างไรครับ ผมเพิ่มคอลัมน์ปีแล้วครับ แต่ตรงสูตรกำหนดเงื่อนไขเลขซ้ำไม่ทราบต้องใช้คำสั่งอย่างไรครับ
พอดี VBA นี้ไปแกะจากหนังสือมาครับ เลยยังงง งงอยู่
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#13

Post by snasui »

:shock: ปีอยู่ในคอลัมน์ใดของชีท data ครับ :?:
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#14

Post by khainui »

snasui wrote::shock: ปีอยู่ในคอลัมน์ใดของชีท data ครับ :?:
คอลัมน์ c ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#15

Post by snasui »

:roll: ไฟล์ที่แนบมาล่าสุดไม่มีปีครับ
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#16

Post by khainui »

:D เอาใหม่ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#17

Post by snasui »

:D ลองตามนี้ครับ

ที่ Sheet3 เซลล์ C2 คีย์

=COUNTIF(data!C:C,C4)+1

Enter
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#18

Post by khainui »

อ่าไม่ได้นี่ครับ

คือถ้าช่อง c2 เป็นเลข 1
แล้วช่อง c4 เปลี่ยนเป็นปี 2556

ทำอย่างไรให้กดบันทึกรายการลงใน sheet "data" ได้โดยไม่ติดเงื่อนไขเลขซ้ำครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#19

Post by snasui »

:lol: กรณีไม่มีการดักค่าซ้ำใน Code โดยใช้สูตรการให้ No ตามที่ผมให้ไปไม่ทราบว่าเกิดปัญหาใดครับ
khainui
Member
Member
Posts: 63
Joined: Sat Jan 15, 2011 10:52 am

Re: ทำอย่างไรให้เลขที่ใน Cell แสดงเลขที่ลำดับสุดท้าย

#20

Post by khainui »

คือ ตามอธิบายในรูปน่ะครับ มันยังติดค่าซ้ำ โดยกดบันทึกรายการไม่ได้น่ะครับ
You do not have the required permissions to view the files attached to this post.
Post Reply