snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#121
Post
by suka » Fri May 27, 2011 4:45 pm
อาจารย์คะ มารบกวนอีกรอบค่ะ
1.ที่ชีท Enterthedata ที่คอลัมน์ L ใส่ตัวเลขใดลงไปที่คอลัมน์ M ก็จะหักส่วนลด เป็น %
ที่คอลัมน์ M ต้องการสูตรหากใส่ตัวเลขตามด้วยเปอร์เซ็นต์ (5+%) ผลลัพธ์ได้ตาม M204
หากใส่ตัวเลขโดยไม่ใส่ % ( 200 ) ตามก็ให้หักเป็นจำนวนเงินบาทผลลัพธ์ที่ได้ตาม M205
2.ที่ชีท Enterthedata คอลัมน์ E204:E219 หากใส่ตัวเลขแล้วกดปุ่มลูกศร => ให้เลื่อนไปที่ คอลัมน์ F ไม่เลื่อนลงน่ะค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#122
Post
by snasui » Fri May 27, 2011 5:22 pm
ลองตามนี้ครับ
ที่ M204 ปรับสูตรเป็น
=IF(H204<>"",IF(L204<1,H204*J204*(1-K204)*(1-L204),H204*J204*(1-K204)-L204),"")
Enter > Copy ลงด้านล่าง
ปรับ Code ที่ชีท Enterthedata ใหม่ตามด้านล่างเพื่อให้ทำงานเฉพาะพื้นที่ที่กำหนดเท่านั้นครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
If Not Intersect(Target, Range("B204:B219")) Is Nothing Then
Worksheets("Other").Range("G1") = Target
Target.Select
If Len(Target) < 3 Then
Application.SendKeys "%{DOWN}"
End If
End If
Application.EnableEvents = True
End Sub
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#123
Post
by suka » Fri May 27, 2011 6:16 pm
อาจารย์คะ ลองปรับสูตรตามที่แนะนำและทดสอบแล้วใช้งานได้แล้วค่ะ
ขอบพระคุณมากๆๆค่ะ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#124
Post
by suka » Thu Jun 02, 2011 3:35 pm
อาจารย์คะขอรบกวนค่ะ
หากต้องการกำหนดให้ที่ชีท Enterthedata คอลัมน์ D2 เมื่อกดปุ่ม Enter แล้วให้เคอร์เซอร์วิ่งไปยังตำแหน่ง B204
และเมื่อกด Enter B204 ให้เคอร์เซอร์ไปอยู่ที่ คอลัมน์ D204 และที่ D204 เลื่อนลงแสดงรายการเพื่อให้เลือกรายการสินค้าได้
และที่คอลัมน์ F204 หากกด Enter แล้วให้เคอร์เซอร์วิ่งไปที่คอลัมน์ B205 ตามนี้ มิทราบว่าจะกำหนดได้ไหมคะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#125
Post
by snasui » Thu Jun 02, 2011 3:53 pm
การทำให้ Validation เลื่อนลงอัตโนมัติต้องใช้ VBA การกำหนดว่าเมื่อ Enter แล้วให้ลูกศรเลื่อนไปไหนใช้ VBA หรือไม่ก็ได้ ลองปรับ VBA มาดูก่อน ติดตรงไหนค่อยมาถามกันต่อครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#126
Post
by suka » Wed Jul 27, 2011 4:28 pm
อาจารย์คะ ขอรบกวนถามค่ะ
ที่ชีท Enterthedata เมื่อ Cursor มาอยู่ที่ D204 แล้วต้องการให้ที่ D204 เลื่อนรายการลงเพื่อให้เลือกสินค้า
จะกำหนดหรือตั้งค่าอย่างไรคะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#127
Post
by snasui » Wed Jul 27, 2011 4:45 pm
ลองปรับ Code ที่ Worksheet_SelectionChage เป็นตามด้านล่างครับ
Code: Select all
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$M$1" Then
With ActiveSheet.Calendar1
.Visible = True
.Top = ActiveCell.Offset(0, 0).Top
.Left = ActiveCell.Offset(0, 1).Left
End With
Else
ActiveSheet.Calendar1.Visible = False
End If
If Not Intersect(Target, Range("D204:D219")) Is Nothing Then
Application.SendKeys "%{DOWN}"
End If
Application.EnableEvents = True
End Sub
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#128
Post
by suka » Wed Jul 27, 2011 5:47 pm
อาจารย์คะ
ปรับแล้วค่ะได้ตามที่ต้องการค่ะ
ขอบพระคุณมากๆๆค่ะ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#129
Post
by suka » Sat Sep 22, 2012 1:40 pm
ขอความช่วยเหลือค่ะ เรื่อง Code ด้านล่างค่ะ เมื่อคีย์อักษรไม่เกิน 3 ตัวแรกที่ชีทฟอร์มบันทึก เซลล์ D3 แล้ว Enter แสดงรายการให้เลือกไม่ได้ค่ะ
และอีกจุดที่ชีทฟอร์มบันทึก เซลล์ B5:B19 Enter แสดงรายการให้เลือกจุดนี้ใช้ได้ค่ะ โดยใช้เซลล์ J1 ชีทข้อมูลร้านค้า เซลล์ข้อมูลเดียวกันค่ะ ไม่ทราบต้องแก้ Code อย่างไรคะ
ขอบคุณค่ะ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
If Not Intersect(Target, Range("B5:B19")) Is Nothing Then
Worksheets("ข้อมูลร้านค้า").Range("J1") = Target
Target.Select
If Len(Target) < 3 Then
Application.SendKeys "%{DOWN}"
End If
End If
If Not Intersect(Target, Range("D3")) Is Nothing Then
Worksheets("ข้อมูลร้านค้า").Range("J1") = Target
Target.Select
If Len(Target) < 3 Then
Application.SendKeys "%{DOWN}"
End If
End If
Application.EnableEvents = True
End Sub
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#130
Post
by suka » Sat Sep 22, 2012 1:42 pm
ขออภัยค่ะ ลืมแนบไฟล์ตัวอย่างค่ะ
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#131
Post
by bank9597 » Sat Sep 22, 2012 2:13 pm
ลองดูตามไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#132
Post
by suka » Sat Sep 22, 2012 2:29 pm
อ่อค่ะ จุดที่ไม่ได้ลืมทำ Validation ขอบคุณค่ะคุณbank9597