Page 1 of 1
Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 5:29 pm
by mr.zatan
- ที่ B2 ทำเป็น drop down list เช่น เมื่อเลือกชื่อ นาย A >> ข้อมูลของนาย A ก็จะมาแสดงที่ด้านล่าง
- ที่ C2 ทำเป็นปุ่ม Print ( Print เฉพาะของนาย A)
- ที่ D2 ทำเป็นปุ่ม Print All ( Print ทั้งหมด ) / นาย A นาย C นาย D.....
ขอบคุณครับ..
Re: Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 10:01 pm
by snasui

ตามความต้องการนี้ต้องใช้ VBA ให้เขียนมาก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน หากเขียนมาแล้วให้แจ้งว่า Procedure ชื่ออะไร ติดขัดที่บรรทัดใด จะได้เข้าถึงปัญหาได้โดยไวครับ
Re: Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 10:24 pm
by mr.zatan
เจอปัญหาแล้วครับ ... Macros ผมไม่ขึ้นครับ

Re: Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 10:28 pm
by snasui

เข้าเมนู Developer แล้วดูว่าเมนู Record Macro ใช้การได้หรือไม่ครับ
Re: Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 10:33 pm
by mr.zatan
ไม่ขึ้นครับ จางๆๆ... รึว่า Excel ผมมีปัญหา
Re: Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 11:05 pm
by snasui

ลองปิดไฟล์นี้ไปก่อนแล้วเปิดไฟล์ใหม่ (กดแป้น Ctrl+N) สังเกตว่าเมนูเป็นเช่นเดิมหรือไม่ครับ
Re: Drop down list และ ปุ่ม Print
Posted: Thu Dec 12, 2013 11:59 pm
by mr.zatan
Excel 2003 ทำ drop down list ข้าม Sheet ไม่ได้เหรอครับ
ทำบน 2010 ทำได้ แต่ 2003 กลับไม่ได้
Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 12:08 am
by snasui

Excel Version ใดก็ทำ Drowdown ข้ามชีทได้ครับ เพียงแต่ต้องให้ชื่อกับช่วงข้อมูลที่ต้องการนำมาทำ Dropdown
สำหรับ Excel 2010+ จะเพิ่มความสามารถมาให้โดยไม่ต้องให้ชื่อกับช่วงข้อมูลก่อนก็สามารถนำมาทำ Dropdown ได้ครับ
Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 9:56 am
by mr.zatan
นี่ครับมันขึ้นอย่างงี้...
=Paste1!$B$7:$B$24

Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 11:09 am
by mr.zatan
ได้แล้วครับ.
ใช้ INDIRECT("Paste1!$B$5:$B$8")
______________________________________
ตอนนี้ก็เหลือ ปุ่ม Print
Code ที่ผมใช้
Code: Select all
Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Print").Visible = True
Sheets("Print").Select
ActiveSheet.PageSetup.PrintArea = "$A$3:$L$24"
ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
Sheets("Print").Visible = True
Application.ScreenUpdating = True
End Sub
ปัญหาคือ Print ได้แค่คนเดียว คือผมอยากให้ Print ทั้งหมดเลย มี 5 คนก็ Print ทั้ง5 คน
Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 12:38 pm
by snasui

5 คนที่ว่านั้นมีลักษณะข้อมูลเป็นอย่างไรครับ
Code ที่เขียนมาเองแล้วนั้นบรรทัดไหนที่ระบุว่าเลือก 5 คน (หรือจำนวนอื่น ๆ) แล้วครับ
Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 1:03 pm
by mr.zatan
ไม่เป็นไรครับ ได้แล้วครับ..
Code: Select all
Sub Print_List()
Dim strValidationRange As String
Dim rngValidation As Range
Dim rngDepartment As Range
Application.ScreenUpdating = False
strValidationRange = Range("n4").Validation.Formula1
Set rngValidation = Range(strValidationRange)
For Each rngDepartment In rngValidation.Cells
Range("n4").Value = rngDepartment.Value
ActiveSheet.PrintOut
Next
Application.ScreenUpdating = True
End Sub
Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 1:11 pm
by mr.zatan
แล้วก็คือผมอยากจะให้ เวลาเอา Mouse ไปวางบน Drop down แล้วให้โชวขึ้นมาเลย โดยไม่ต้องกด ลูกศรชี้ลง อย่างี้สามารถทำได้มัย
Re: Drop down list และ ปุ่ม Print
Posted: Fri Dec 13, 2013 1:14 pm
by snasui

Excel ไม่มี Event สำหรับ MouseMove, MouseUp, MouseDown ฯลฯ ดังนั้นจึงไม่สามารถทำได้บน Worksheet แต่ทำได้บน UserForm ครับ
Re: Drop down list และ ปุ่ม Print
Posted: Sat Dec 14, 2013 10:50 am
by mr.zatan
แก้สูตรให้หน่อยครับ
INDIRECT("Paste1!$B$5:$B$8") อันนี้คือ เริ่มตั้งแต่ B5 ถึง B8
แต่ที่ผมอยากได้คือ :
- เริ่มตั้งแต่ B5 ไปเรื่อยๆๆ
- และก็โชว์เฉพาะที่มีรายชื่อ

Re: Drop down list และ ปุ่ม Print
Posted: Sat Dec 14, 2013 11:06 am
by snasui

ลองปรับสูตรเป็นตามด้านล่างครับ
=Indirect("Paste1!B5:B"&Counta(Paste1!B5:B65536)+5)
Re: Drop down list และ ปุ่ม Print
Posted: Sat Dec 14, 2013 11:32 am
by mr.zatan
ขอบคุณครับ