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

ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
axiomy
Member
Member
Posts: 32
Joined: Wed Mar 30, 2011 3:28 pm

ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#1

Post by axiomy »

จากไฟล์ที่แนบมา ได้ใส่ code ลงไปที่ sheet "Issue log" เรียบร้อยแล้วค่ะอาจารย์ code ที่ใส่เป็น code ที่ทำให้ทุก cell ที่มี dropdown list สามารถเลือกได้หลายค่า แต่ requirement คือต้องการให้แค่ Column "Process name" เพียง Col เดียวที่สามารถเลือกได้หลายค่า ส่วน Col อื่นๆต้องการให้เลือกได้เพียงค่าเดียวค่ะอาจารย์ อีกปัญหาหนึ่งก็คือไม่สามารถใช้ Space bar เพื่อลบข้อความใน cell ที่เป็น dropdownlist ได้อะค่ะไม่ทราบว่าพอมีวิธีแก้ไขอย่างไรบ้างคะอาจารย์

ขอบคุณค่ะ :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#2

Post by snasui »

ไม่เข้าใจครับ

Code ที่เขียนมาไม่ได้มี Code ไหนที่สร้าง Validation และเท่าที่ดู Validation ได้สร้างไว้ด้วยวิธีปกติที่ไม่ต้องใช้ Code จะสร้างให้มีตัวเลือกกี่ตัวเลือกก็ย่อมทำได้อยู่แล้วครับ

ส่วน Space bar ไม่ได้เป็นค่า Blank ดังนั้นการเคาะ Space bar เป็นการกรอกอักขระอย่างหนึ่ง หากไม่มีอยู่ใน List และได้กำหนดให้ Validation ไม่ยอมรับค่าที่ไม่อยู่ใน List ก็จะไม่สามารถกรอกได้ครับ

การทำให้ Validation ยอมรับค่าใด ๆ ให้เข้าไปที่ Data > Validation > แถบ Error alert ให้ปลดเครื่องหมายที่ Show error alert after invalid data is entered.
axiomy
Member
Member
Posts: 32
Joined: Wed Mar 30, 2011 3:28 pm

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#3

Post by axiomy »

ขอโทษอาจารย์ค่ะ คือหนูอธิบายงงเอง สิ่งที่เป็นปัญหาตอนนี้คือ cell ที่หนูทำไว้เป็น dropdown list มันจะสามารถเลือกได้หลายค่าเช่น Col "priority"จะเลือก H แล้วก็เลือก M ได้อีก ซึ่งปกติแล้ว dropdown list จะเลือกได้เพียงแค่ค่าเดียวอะค่ะ หนูต้องการให้ col อื่นๆที่ไม่ใช่ priority เลือกได้ค่าเดียวเหมือน dropdown list ปกติ ส่วน col "process name" สามารถเลือกได้หลายค่าค่ะ ส่วนที่หนูบอกว่า space bar คือหนูเขียนผิดค่ะอาจารย์ หนูจะหมายถึง backspace อะค่ะ พอหนูใส่ code นี้ลงไปใน sheet แล้วมันไม่สามารถใช้ backspace ลบข้อความได้ปกติค่ะ ต้องใช้ปุ่ม delete ลบแทน

รบกวนอาจารย์ช่วยดูให้หน่อยนะคะ
ขอบคุณค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#4

Post by snasui »

เพิ่ม Code ข้างล่างนี้เข้าไปช่วยตรวจสอบครับว่าตอนนี้ทำงานกับ Column ไหน หากเป็นคอลัมน์อื่นที่ไม่ใช่ Process name ก็ไม่ต้อง Run Event

Code: Select all

If Target.Column <> 10 Then Exit Sub
ซึ่งสามารถวางไว้หลังการประกาศตัวแปร ได้เป็น

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range
Dim oldVal As String, newVal As String
Dim tr As Long
If Target.Column <> 10 Then Exit Sub
'Other Code
End Sub
ส่วนเรื่อง Backspace ที่เครื่องผมสามารถใช้ลบค่าในเซลลใด ๆ ของไฟล์นี้ได้ตามปกติครับ
axiomy
Member
Member
Posts: 32
Joined: Wed Mar 30, 2011 3:28 pm

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#5

Post by axiomy »

:D ขอบคุณอาจารย์มากๆเลยค่ะ ไม่เคยรู้เลยว่า excel ทำอะไรได้เยอะแยะขนาดนี้ จนมาเจออาจารย์นี่แหละค่ะ ทำให้หนูรัก excel ขึ้นเยอะเลย อาจารย์คะ คือหนูอยากศึกษา excel ให้มากกว่านี้ ไม่ทราบว่าอาจารย์มีตำราไหนดีๆแนะนำบ้างคะ

ps หนูเจออยู่อีกปัญหาหนึ่งอะค่ะคือหลังจากที่หนูใช้ backspace ลบข้อความใน cell (ใน col "Process name")แล้วกด enter ข้อความใน cell มันเพิ่มขึ้นเองอะค่ะ เช่น หนูเลือก A แล้วก็เลือก B แล้วกด backspace เพื่อลบ B และกด enter ข้อความใน cell มันขึ้นเป็น A, B, A อะค่ะอาจารย์
axiomy
Member
Member
Posts: 32
Joined: Wed Mar 30, 2011 3:28 pm

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#6

Post by axiomy »

อาจารย์คะ ในช่อง Data >> Validation >> Setting >> list (ในช่อง allow) มันมีข้อจำกัดหรอคะว่าสามารถใส่ข้อมูลในเท่าไหร่ คือหนูมีข้อมูลที่ต้องใส่ใน dropdown list เยอะอะค่ะ แล้วมันใส่ไม่พอ จะต้องแก้ไขอย่างไรคะอาจารย์
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#7

Post by snasui »

:D เนื่องจาก Event ที่ใช้ Run Code ที่เขียนมานั้น จะทำงานทุกครั้งที่เป็นการเปลี่ยนแปลงค่าในเซลล์ เมื่อเซลล์เกิดการเปลี่ยนแปลงจะเอาค่าเดิมมาเพิ่มด้วยค่าใหม่คั่นด้วยเครื่องหมาย , การกด Backspace ไปหนึ่งครั้งแล้ว Enter เป็นการเปลี่ยนแปลงค่าไปจากเดิม ค่าใหม่คือค่าหลังจากลบข้อความแล้ว เมื่อนำข้อความเดิมมาต่อด้วยข้อความใหม่ก็จะทำให้ได้ข้อความที่เกินความจำเป็น

การแก้ไขอาจจะเพิ่มปุ่มมา 1 ปุ่มเช่น ปุ่ม Option เพื่อที่จะเลือกได้ว่า เราต้องการ Edit ค่าเก่าไม่ต้องทำการ Run Event หรือให้ Run Event เพื่อ Add ค่าเข้าไปครับ

สำหรับ Drop-down List ใน Validation กรณีเป็น Excel 2003 สามารถป้อนข้อความได้ไม่เกิน 255 อักขระครับ แต่หากไปอ้างจากช่วงข้อมูลมาแล้วสามารถจะรับข้อมูลได้จำนวนมาก
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#8

Post by snasui »

ลืมแนะนำเรื่องหนังสือ เนื่องจากผมไม่ได้อ่านหนังสือไทยจึงขออภัยที่ไม่สามารถแนะนำหนังสือไทยได้ครับ แหล่งศึกษาของผมส่วนใหญ่คือ Help ของโปรแกรมเอง เวบต่างประเทศ เช่น http://www.mrexcel.com, http://www.excelforum.com และ Text book

สำหรับ Text book ที่จะแนะนำเป็น Excel 2010 Power Programming with VBA ของ John Walkenbach, Excel 2007 VBA Programmer's Reference ของ John Green และคณะ
axiomy
Member
Member
Posts: 32
Joined: Wed Mar 30, 2011 3:28 pm

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#9

Post by axiomy »

ขอบคุณอาจารย์มากๆค่ะ :D
axiomy
Member
Member
Posts: 32
Joined: Wed Mar 30, 2011 3:28 pm

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#10

Post by axiomy »

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

Re: ปรึกษาเรื่อง Dropdown list ที่สามารถเลือกได้หลายค่าค่ะ

#11

Post by snasui »

สามารถทำได้แต่ต้องให้ชื่อไว้กับช่วงเซลล์นั้น ๆ ครับ การให้ชื่อไว้กับช่วงเซลล์สามารถทำดังนี้ครับ
  1. คลุมช่วงเซลล์
  2. เข้าเมนู Insert > Name > Define...
  3. ช่อง Name in workbook: กรอกชื่อที่ต้องการ
  4. ช่อง Refers to: สังเกตว่าเป็นช่วงที่เราเลือกเอาไว้แล้ว > Add > Close
  5. การนำไปใช้เข้าเมนู Data > Validation > ช่อง Allow เลือก List > คลิกช่อง Source กดแป้น F3 เลือกชื่อที่ให้ไว้ > OK
Post Reply