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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#1
Post
by sakoobaa » Sun Jan 06, 2013 4:06 pm
ตามเอกสารที่แนบ จากชีส 1 เห็นได้ว่ามีข้อมูลที่ใส่ตัวเลขอยู่ เมื่อกด vba ทำการดึงข้อมูลเฉพาะที่ใส่ตัวเลขไว้ชีส 2 ไม่ทราบว่าควรใส่สูตรอย่างไรดีครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Sun Jan 06, 2013 4:37 pm
ลองตามนี้ครับ
ที่ Sheet2 เซลล์ D6 คีย์
=SUMIF(Sheet1!$C$8:$C$10,$C6,Sheet1!$D$8:$D$10)+SUMIF(Sheet1!$F$8:$F$10,$C6,Sheet1!$G$8:$G$10)
Enter > Copy ลงด้านล่าง
การใช้ VBA จำเป็นต้องเขียนมาเอง ติดตรงไหนค่อยมาถามกันครับ
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#3
Post
by sakoobaa » Sun Jan 06, 2013 9:41 pm
เรียนอาจารย์ พอดีว่าสูตรที่อาจารย์ให้มันอ้างอิงกับตัวอักษรด้านหน้า กระผมอยากจะขอสูตรเพิ่มเติมที่ จากชีส1เมื่อตัวเลขอยู่ในช่องใด ก็ยกมาทั้ง รายการ จำนวน หน่วยนับ เรียงต่อบรรทัดไม่ทราบต้องเขียนยังไงครับ หรือต้องใช้ vba เข้าช่วย
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Mon Jan 07, 2013 8:58 am
การที่ตัวเลขอยู่ในเซลล์ใดแล้วยกมาทั้งบรรทัดก็สามารถทำด้วยสูตรได้
หากว่ามองแค่คอลัมน์ใดคอลัมน์หนึ่ง แต่หากมองหลายคอลัมน์คงต้องพึ่ง VBA ครับ
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#5
Post
by sakoobaa » Wed Jan 09, 2013 11:01 pm
เรียน อาจารย์ครับพอดีผมพยายามเขียน vba ตามที่อาจารย์บอกว่าลองดูก่อน แต่ไม่ค่อยมีความรู้ด้านนี้มากเท่าไหร่
ไม่ทราบอาจารย์เขียนเพื่อเป็นแนวทางให้ผมได้ไหมครับ
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Wed Jan 09, 2013 11:04 pm
ต้องขออภัยที่ไม่เขียนให้ก่อนเพื่อความเสมอภาคของเพื่อนสมาชิก สำหรับ VBA แล้วต้องศึกษามาเองและเขียนมาก่อน ติดตรงไหนแล้วถามกันตามกฎข้อที่ 5 ด้นบนครับ
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#7
Post
by sakoobaa » Thu Jan 10, 2013 9:57 pm
เรียนอาจารย์ไฟล์ที่แนบมานั้นผมลองทำสูตรดูแล้วครับแต่ไม่ทราบว่าจะเพิ่มเงื่อนไข ให้มัน copy เฉพาะรายการที่มีตัวเลข
ให้มาเรียงต่อกัน ไม่ทราบว่าต้องแก้ตรงไหนบ้างครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Thu Jan 10, 2013 10:26 pm
ลองปรับ Code เป็นตามด้านล่างครับ
Code: Select all
Sub Button2_Click()
Dim rAll As Range, r As Range
Set rAll = Sheets("Sheet1").Cells.SpecialCells(xlCellTypeConstants, 1)
For Each r In rAll
Sheets("002").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) _
.Resize(1, 3) = r.Offset(0, -1).Resize(1, 3).Value
Next r
End Sub
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#9
Post
by sakoobaa » Sat Jan 12, 2013 7:45 pm
ขอบคุณอาจารย์มากๆคับ สูตรที่ให้มาตรงตามจุดประสงค์ครับ
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#10
Post
by sakoobaa » Sun Jan 13, 2013 10:46 am
เรียนอาจารย์ครับ ขอรบกวนเพิ่มเติมหน่อยครับตามสูตรที่อาจารย์ให้มา ไม่ทราบว่าถ้าเพิ่มเงื่อนไขให้รันเลขลำดับ ตามรายการที่เพิ่มขึ้นไม่ทราบว่าควรเพิ่มตรงไหนครับ
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#11
Post
by snasui » Sun Jan 13, 2013 10:58 am
ปรับ Code มาก่อนแล้วถามเฉพาะทีติดเสมอครับ
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#12
Post
by sakoobaa » Sun Jan 13, 2013 12:31 pm
อาจารย์ครับ พอดีลองใส่สูตรงช่อง B6 ให้รันลำดับลงมาเอง พอผมกด VBA จากอีกชีสให้ข้อมูลมารันในช่อง C6:C14 ผลปรากฎว่า เลขออกมาจริงครับแต่ ขาดเป็นบางช่วงไม่ทราบว่าสูตรตัวนี้สามารถปรับเปลี่ยน หรือ แก้ไขแบบไหนดีครับ
ได้แนนไฟล์ติดมาด้วยคับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#13
Post
by snasui » Sun Jan 13, 2013 1:03 pm
ไฟล์ที่แนบมา ไม่มีสูตร ไม่มี VBA ครับ ช่วยแนบมาใหม่และแจ้งด้วยว่า Code อยู่ใน Module ใด ชื่ออะไร จะได้สะดวกในการช่วยทดสอบครับ
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#14
Post
by sakoobaa » Sun Jan 13, 2013 1:17 pm
แนบให้ใหม่แล้วครับอาจารย์
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#15
Post
by snasui » Sun Jan 13, 2013 1:43 pm
ลองตามนี้ครับ
ที่ B6 คี่ย์
=IF($D6="","",COUNT(D$6:D6))
Enter > Copy ลงด้านล่าง
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#16
Post
by sakoobaa » Mon Jan 14, 2013 10:06 pm
ขอบคุณมากครับอาจารย์
sakoobaa
Member
Posts: 39 Joined: Sat Dec 15, 2012 9:18 am
#17
Post
by sakoobaa » Mon Jan 14, 2013 10:09 pm
ขอรบกวนเพิมเติมนะครับ จากไฟล์ที่แนบให้ ในสูตร vba message box ต้องการเพิ่มเงื่อนไข เมื่อกด yes ให้ไปชีส 2 นะครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31255 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#18
Post
by snasui » Mon Jan 14, 2013 10:14 pm
sakoobaa wrote: ต้องการเพิ่มเงื่อนไข เมื่อกด yes ให้ไปชีส 2 นะครับ
ลองดูตัวอย่าง Code ตามด้านล่างครับ
Code: Select all
Sub Button1_Click()
Dim iRet As Integer
Dim strPrompt As String
Dim strTitle As String
' Promt
strPrompt = "Ask Your Question Here, OK?"
' Dialog's Title
strTitle = "My Tite"
'Display MessageBox
iRet = MsgBox(strPrompt, vbYesNo, strTitle)
' Check pressed button
If iRet = vbNo Then
MsgBox "NO!"
Else
MsgBox "Yes!"
Sheets("Sheet2").Select
End If
End Sub