...ส บ า ย ๆ ส ไ ต ล์ มื อ ไ ม่ PRO แ ถ ม ยั ง... LOWFESSIONAL ...
 
งานเล็กๆบางงานใน Excel สามารถใช้ InputBox แทน UserForm ได้


|"ลุงไม้..."|123it.co.nr|เรื่องทั้งหมด|เรื่องที่แล้ว |เรื่องต่อไป|

การออกแบบ Userform เพื่อทำงานในแต่ละงานนั้น ก็นับว่าเป็นสิ่งที่ถูกต้องแล้วละครับ แต่บางที กับงานเล็กๆน้อยๆ เราก็อาจจะพลิกแพลงเอาวัตถุดิบที่มีอยู่แล้ว หยิบจับมาใช้งานได้เหมือนกัน ลองมาดูตัวอย่างงาน LogIn เข้าทำงานในระบบเล็กๆที่ผมลองทำขึ้นใช้งานกันดู

รูปแบบปกติของ InputBox มักเป็นแบบนี้



แต่เมื่อลองปรับแต่งพลิกแพลงเพียงเล็กน้อย กับพนักงานสัก 5 ชื่อ สามารถให้แสดงผลแบบนี้ได้



จากรูปข้างบน ผมปรับแต่งการแสดงผลของ InputBox ด้วยโค้ดนี้
Dim UserEntry, xText
xText = "001 สมชาย ใจงาม & Chr(10) & _
"002 สมหญิง แจ่มจันทร์" & Chr(10) & _
"003 ประชัน บุญดี" & Chr(10) & _
"004 ªชัยพร จรัสศรี" & Chr(10) & _
"005 ประจวบ คล้ายคลึง"
UserEntry = InputBox("โปรดระบุรหัสพนักงาน..." & Chr(10) & _

"---------------------------------------------------------------" & Chr(10) & xText, "UserEntry")
ซึ่งถ้าจำนวนพนักงานน้อยๆคน ก็สามารถใช้ได้ไม่มีปัญหา แต่ถ้าหากว่าพนักงานมากๆหน่อย อย่างเช่นที่ทำงานผมนั้น ต้องมีการล็อคอินประมาณเกือบ 30 คน แถมยังเข้าๆออกๆบ่อยเสียด้วย เลยต้องหาวิธีที่ยืดหยุ่นกว่านี้

1. พิมพ์รายชื่อที่ต้องการลงในชีทงานไว้ก่อน ประมาณนี้



2. โค้ดในส่วนของการควบคุม InputBox จะเปลี่ยนมาอ่านรายชื่อในชีทงานแทน ด้วยโค้ดแบบนี้

Dim UserEntry, xText, i As Integer
With Sheets("username")
i = 2
Do Until Range("a" & i).Text = ""
xText = xText & Chr(10) & .Range("b" & i).Text & " " & .Range("c" & i).Text
i = i + 1
Loop
End With


UserEntry = InputBox("โปรดระบุรหัสพนักงาน..." & Chr(10) & _

"---------------------------------------------------------------" & Chr(10) & xText, "UserEntry")

3. เมื่อรันโค้ดงานออกมา ก็จะได้หน้าตาของ InputBox เป็นแบบนี้


จะเห็นว่า งานที่ได้ เหมือนกับสร้างจาก UserForm กันเลยทีเดียว ข้อดีอีกอย่างก็คือ การให้พนักงานพิมพ์เลขรหัสลงไป จะให้ความถูกต้องได้มากกว่าการพิมพ์ชื่อ/นามสกุลลงไปเอง ซึ่งอาจจะเคาะผิดเคาะถูก พิมพ์ขาดๆเกินๆอยู่บ่อยๆ

แต่การใช้ InputBox แบบนี้ จะมีข้อจำกัดอยู่บ้างเล็กน้อย ก็คือจำนวนตัวอักษรทั้งหมดที่สามารถแสดงได้ โดยจำกัดอยู่ที่ 256 ตัวอักษร (ถ้าจำไม่ผิดนะ แต่ถ้าผิดก็ช่วยแนะนำด้วยนะครับ) ดังนั้น ถ้าเป็นงานใหญ่ๆ คนมากๆ ก็คงต้องออกแบบ UserForm กันจริงๆ แต่ถ้างานเล็กๆน้อยๆบางงาน แค่นี้ก็หรูแล้ว แถมยังประหยัดเวลาและทรัพยากรเครื่องได้อีกด้วยครับ


Create Date : 18 ธันวาคม 2550
Last Update : 22 ธันวาคม 2550 12:26:43 น. 2 comments
Counter : 3317 Pageviews.  
 
 
 
 
เคยเรียน แต่ลืมไปหมดละ 555

ขอบคุณมากค่า
 
 

โดย: ป้าจะอิ๊บ (jipnaja ) วันที่: 18 ธันวาคม 2550 เวลา:12:44:37 น.  

 
 
 
ขอบคุณนะคะ ที่เข้าไปอ่านกระทู้ อัพบล๊อกแล้วนะคะ
มีเฉลยด้วยค่ะ ว่าเป็นผู ช/ญ อิอิ
 
 

โดย: กอล์ฟนะคะ IP: 61.7.174.163 วันที่: 19 ธันวาคม 2550 เวลา:18:27:48 น.  

Name
Opinion
*ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก

mitrapap
 
Location :
สระบุรี Thailand

[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 18 คน [?]




Free Domain Names @ .co.nr!
[Add mitrapap's blog to your web]

MY VIP Friend

 
pantip.com pantipmarket.com pantown.com