: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

การรันลำดับที่

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
excelman
Member
Member
Posts: 65
Joined: Mon Mar 21, 2011 2:05 pm

การรันลำดับที่

#1

Post by excelman »

ตามตัวอย่างที่แนบ ต้องคีย์สูตรแบบไหนครับเพื่อให้ลำดับที่รันลำดับไปเรื่อยๆ
โดยมีเงื่อนไขว่า ถ้าพอชื่อสกุลที่เคยคีย์ไปแล้วจะไม่รันลำดับในชื่อๆนั้น ข้ามไปนับต่อ
ที่ชื่อต่อไปครับ
You do not have the required permissions to view the files attached to this post.
User avatar
ysamroeng
Member
Member
Posts: 105
Joined: Fri Feb 05, 2010 11:17 am

Re: การรันลำดับที่

#2

Post by ysamroeng »

ที่เซลล์ A2 พิมพ์สูตร =IF(COUNTIF(C$2:C2,C2)=1,MAX(A$1:A1)+1,"")
enter แล้วคัดลอกสูตรลงมา
มีการศึกษา (Education) ไม่ได้แปลว่า มีความรู้ (Knowledge)
http://www.e-hrit.com
excelman
Member
Member
Posts: 65
Joined: Mon Mar 21, 2011 2:05 pm

Re: การรันลำดับที่

#3

Post by excelman »

ทดลองคีย์แล้วใช้ได้ตามที่ต้องการแล้วครับผม
แ่ต่อยากจะรบกวนอธิบายความหมายในสูตรด้วยได้มั้ยครับ
เพื่อที่ว่า คราวต่อไปจะได้นำไปปรับปรุงใช้กับเคสอื่นๆได้ในภายหน้า
User avatar
ysamroeng
Member
Member
Posts: 105
Joined: Fri Feb 05, 2010 11:17 am

Re: การรันลำดับที่

#4

Post by ysamroeng »

excelman wrote:ทดลองคีย์แล้วใช้ได้ตามที่ต้องการแล้วครับผม
แ่ต่อยากจะรบกวนอธิบายความหมายในสูตรด้วยได้มั้ยครับ
เพื่อที่ว่า คราวต่อไปจะได้นำไปปรับปรุงใช้กับเคสอื่นๆได้ในภายหน้า
จากสูตรที่ A2 =IF(COUNTIF(C$2:C2,C2)=1,MAX(A$1:A1)+1,"")
ให้เริ่มต้นนับชื่อจาก C2 ลงมา หากชื่อนั้นนับได้เป็น 1 ก็ให้ดูว่าเหนือ A2 ขึ้นไปมีตัวเลขอะไรมีค่ามากสุด
ก็เอาเลขนั้นมาบวกเพิ่มค่าเข้าไปอีกหนึ่ง แต่ถ้ามีชื่อซ้ำก็จะไม่แสดงตัวเลขใดๆ

ปล. ถ้ามีชื่อซ้ำกัน แต่ที่จริงเป็นคนละคน สูตรนี้ก็จะข้ามเช่นเดียวกัน เพราะตรวจสอบเฉพาะชื่อเท่านั้นครับ
มีการศึกษา (Education) ไม่ได้แปลว่า มีความรู้ (Knowledge)
http://www.e-hrit.com
excelman
Member
Member
Posts: 65
Joined: Mon Mar 21, 2011 2:05 pm

Re: การรันลำดับที่

#5

Post by excelman »

ตาม ปล. ที่ทิ้งท้ายไว้ ถ้าผมแก้ปัญหานี้ด้วยการนำชื่อและสกุลมารวมอยู่ในเซลล์เดียวกัน จะเป็นผลมั้ยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การรันลำดับที่

#6

Post by snasui »

:lol: แก้ได้ครับ หรือเขียนสูตรที่ซับซ้อนขึ้น เช่น

=If(Rows(C$2:C2)=Match(C2&D2,Index($C$2:$C$12&$D$2:$D$12,0),0),Count(A$1:A1)+1,"")

Enter > Copy ลงด้านล่าง
Last edited by snasui on Fri Jul 13, 2012 11:11 pm, edited 1 time in total.
Reason: แก้ไขการอ้างอิง
excelman
Member
Member
Posts: 65
Joined: Mon Mar 21, 2011 2:05 pm

Re: การรันลำดับที่

#7

Post by excelman »

สูตรที่เป็นตัวหนานี่ต้องคีย์แบบนี้หรือเปล่าครับ (c$2:c2)
=If(Rows(C$:C2)=Match(C2&D2,Index($C$2:$C$12&$D$2:$D$12,0),0),Count(A$1:A1)+1,"")
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การรันลำดับที่

#8

Post by snasui »

:o ใช่แล้วครับ คีย์ตกไปครับ :rz:
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#9

Post by krukrit »

สูตรนี้สามารถเขียนในvbaได้หรือไม่ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การรันลำดับที่

#10

Post by snasui »

:D ด้วย VBA แล้วเขียนได้ทุกสูตรที่เขียนด้วย Excel ได้ และทำได้มากกว่านั้นเพราะมันคือ Programming ครับ
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#11

Post by krukrit »

ผมได้ลองหัดเขียนvba แต่ยังติด3 ข้อช่วยแนะนำด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
tigerwit
Silver
Silver
Posts: 553
Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:

Re: การรันลำดับที่

#12

Post by tigerwit »

กรณีเลขลำดับ
ที่ชีท Form เซล A3 คีย์ =IF(C3="","",SUBTOTAL(3,$C$3:C3)) แล้ว Copy ลงไป

กรณีเส้นทึบ
1. เลือกเมนู รูปแบบ > จัดรูปแบบตามเงื่อนไข
2. ตรง เงื่อนไขที่ 1 เลือก สูตรคือ
3. ช่องถัดมาคีย์ =$A3:$D3<>""
4. คลิกปุ่ม รูปแบบ จัดรูปแบบตามต้องการ (เส้นขอบ ตีกรอบ) > ตกลง > ตกลง
5. copy ลงไป ตามต้องการ

กรณีทศนิยม ก็จัดรูปแบบเซลให้เป็นแบบทศนิยมไว้เลย
You do not have the required permissions to view the files attached to this post.
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#13

Post by krukrit »

ขอบคุณครับ
แต่ผมยังติดปัญหาตรงทีี่่เวลาโอนข้อมูลมาแล้วแถวบนที่เป็น name และ money_psn ที่อยู่ใน data จะตามมาด้วยที่ form ด้วย
แก้อย่างไรครับ ซึ่งลำดับที่ 1 จะหายไปครับ
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#14

Post by krukrit »

ยังหาวิธีไม่ได้เลยครับโดยใช้vba
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การรันลำดับที่

#15

Post by snasui »

:D ลองดูตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
 
    Sheet2.Cells(2, 1) = "ลำดับที่"
    Sheet2.Cells(2, 2) = "เลขที่สมาชิก"
    Sheet2.Cells(2, 3) = "ชื่อ - สกุล"
    Sheet2.Cells(2, 4) = "จำนวนเงิน"
    
    Sheet2.Range("A2", "D2").HorizontalAlignment = xlCenter
    Sheet2.Range("A2", "D2").Font.Bold = True
    
    r = 3
    l = 1
    For i = 2 To Sheet1.Range("A" & Rows.Count).End(xlUp).Row
        If Trim(Sheet1.Cells(i, 3)) <> "" And Trim(Sheet1.Cells(i, 3)) <> "Transaction Number" Then
            Sheet2.Cells(r, 1) = l
            Sheet2.Cells(r, 2) = Trim(Sheet1.Cells(i, 1))
            Sheet2.Cells(r, 3) = Trim(Sheet1.Cells(i, 2))
            Sheet2.Cells(r, 4) = Trim(Sheet1.Cells(i, 3))
            r = r + 1
            l = l + 1
        End If
    Next
    
End Sub
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#16

Post by krukrit »

คือผมมีปัญหาคือ 1. เวลาโอนข้อมูลมาแล้วไม่มีเส้นตารางในส่วนที่โอนมาครับ ตามที่คุณ tigerwit ได้แนะนำผมได้ทำตามแล้วแต่พอ เขียนปุ่มCommandButtonเพื่อลบข้อมูลแล้วเวลาโอนข้อมูลมาใหม่ก็จะไม่มีตารางเหมือนเดิมครับ
2. ในช่อง จำนวนเงิน ไม่เหมือนใน data ครับ ไม่มีทศนิยม ได้ทำตามคุณ tigerwit ได้แนะนำผมได้ทำตามแล้วแต่พอลบข้อมูลแล้วโอนมาใหม่ก็เหมือนเดิมครับคือไม่มีทศนิยม
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การรันลำดับที่

#17

Post by snasui »

:D แสดงว่าเรื่องของข้อมูลนั้นถูกต้องอยู่แล้วเหลือเพียง Format เท่านั้นใช่หรือไม่ครับ หากใช่ ให้บันทึก Macro การสร้าง Format แล้วปรับใช้ดู ติดตรงไหนสามารถถามมาได้ครับ
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#18

Post by krukrit »

แสดงว่าเรื่องของข้อมูลนั้นถูกต้องอยู่แล้วเหลือเพียง Format เท่านั้นใช่หรือไม่ครับ หากใช่ ให้บันทึก Macro การสร้าง Format แล้วปรับใช้ดู ติดตรงไหนสามารถถามมาได้ครับ
ครับผม เหลือ 2 จุดครับ ผมจะศึกษาได้จากที่ไหนครับแนะนำด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การรันลำดับที่

#19

Post by snasui »

:D ศึกษาจากการบันทึก Macro ครับ ไม่ทราบว่ามีปัญหาอะไรกับการบันทึก Macro ครับ :?:
krukrit
Member
Member
Posts: 20
Joined: Tue May 31, 2011 1:21 am

Re: การรันลำดับที่

#20

Post by krukrit »

มีปัญหาการเขียนคำสั่งMacroครับ 2 จุดครับ
1. เวลาโอนข้อมูลมาแล้วไม่มีเส้นตารางในส่วนที่โอนมาครับ
2. ในช่อง จำนวนเงิน ไม่เหมือนใน data ครับ คือไม่มีทศนิยม ครับ
ไม่รู้ว่าจะเขียนอย่างไรครับ
Post Reply