Page 1 of 1

Drop down list และ ปุ่ม Print

Posted: Thu Dec 12, 2013 5:29 pm
by mr.zatan
Image

- ที่ 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
:D ตามความต้องการนี้ต้องใช้ VBA ให้เขียนมาก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน หากเขียนมาแล้วให้แจ้งว่า Procedure ชื่ออะไร ติดขัดที่บรรทัดใด จะได้เข้าถึงปัญหาได้โดยไวครับ

Re: Drop down list และ ปุ่ม Print

Posted: Thu Dec 12, 2013 10:24 pm
by mr.zatan
เจอปัญหาแล้วครับ ... Macros ผมไม่ขึ้นครับ

Image

Re: Drop down list และ ปุ่ม Print

Posted: Thu Dec 12, 2013 10:28 pm
by snasui
:D เข้าเมนู Developer แล้วดูว่าเมนู Record Macro ใช้การได้หรือไม่ครับ

Re: Drop down list และ ปุ่ม Print

Posted: Thu Dec 12, 2013 10:33 pm
by mr.zatan
Image


ไม่ขึ้นครับ จางๆๆ... รึว่า Excel ผมมีปัญหา

Re: Drop down list และ ปุ่ม Print

Posted: Thu Dec 12, 2013 11:05 pm
by snasui
:D ลองปิดไฟล์นี้ไปก่อนแล้วเปิดไฟล์ใหม่ (กดแป้น 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
:D 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



Image

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
:D 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
:D 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 ไปเรื่อยๆๆ

- และก็โชว์เฉพาะที่มีรายชื่อ

Image

Re: Drop down list และ ปุ่ม Print

Posted: Sat Dec 14, 2013 11:06 am
by snasui
:D ลองปรับสูตรเป็นตามด้านล่างครับ

=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
ขอบคุณครับ