...ส บ า ย ๆ ส ไ ต ล์ มื อ ไ ม่ PRO แ ถ ม ยั ง... LOWFESSIONAL ...
 
บันทึกโค้ด VBA ที่ชอบลืมบ่อยๆ



- Dropdown List ในชีทงาน
สมมุติจะทำเดือน Jan-Dec ให้เป็น Dropdown List ในช่อง B1 ของ Sheet1
โดยทำจากข้อมูลที่อยู่ต่าง Sheet กัน ทำดังนี้ครับ

ไปที่ Sheet2 คีย์ Jan-Dec ใน Cell A1:A12
เสร็จแล้วคลุม A1:A12 > คีย์ MonthList ในช่อง Name Box
(ช่องแรกสุดของบรรทัด Formula Bar) > ไปที่ Sheet1
Cell A1 คีย์ Month > คลิกช่อง B1 > ไปที่เมนู Data > Validation >
เลือกแถบ Setting > ช่อง Allow: เลือก List > คลิกลงในช่อง Source: > กดแป้น F3 > เลือก MonthList > OK > OK
- หน่วงเวลา
Application.Wait Now + TimeValue("00:00:01")

- เกี่ยวกับทูลบาร์
รีเซ็ท
Application.Toolbars(1).Reset

เพิ่มปุ่มจากภายใน และใช้คำสั่งของปุ่มนั้นๆ
With Application.CommandBars("Formatting")
.Controls.Add ID:=403, Before:=3
.Controls.Add ID:=404, Before:=4
.Controls.Add ID:=800, Before:=13
End With

เพิ่มปุ่มจากภายใน แต่ใช้คำสั่งที่เขียนเอง
With Application.Toolbars(1).ToolbarButtons
.Add(Button:=131, OnAction:="xHeadings").Name = "ข้อความ1"
.Add(Button:=137, OnAction:="xGridlines").Name = "ข้อความ2"
End With

ลบปุ่ม นับจากที่เห็นในจอ
Application.CommandBars("Standard").Controls(11).Delete

- เกี่ยวกับเมนู
รีเซ็ท
MenuBars(xlWorksheet).Reset

- เปิด Book เปล่า
Workbooks.Add

- เพิ่มชีทชื่อที่กำหนดทันที
Worksheets.Add.Name = "ชื่อชีท"

- สั่งรันแบตช์ไฟล์จากดอสแบบซ่อน
Shell "D:\code97\copyxam.bat", 0

- เปิดงานแล้วรันออโตมาโครทันที
Workbooks(FileName:="D:\code97\XAM99.XLS").RunAutoMacros Which:=xlAutoOpen

- การใช้ัฟังก์ชั่น Array SumIF

สูตร SumIF มีรูปแบบสำคัญอยู่ 3 แบบ คือ

=SUMIF( CheckRange, "ค่าเงื่อนไข", SumRange)

{=SUM( IF( CheckRange=ค่าเงื่อนไข, SumRange))}

{=SUM( (CheckRange=ค่าเงื่อนไข) * SumRange)}

CheckRange เป็นตารางพื้นที่ ซึ่งใช้เป็นหลักในการทดสอบตามค่าเงื่อนไขว่า ค่าเงื่อนไขนั้นๆอยู่ในตำแหน่งใดในตาราง CheckRange

SumRange เป็นตารางพื้นที่ของตัวเลข ซึ่งต้องการใช้คำนวณหายอดรวม เฉพาะเซลล์ซึ่งมีตำแหน่งตรงกับค่าเงื่อนไข

CheckRange และ SumRange ต้องมีขนาดเท่ากัน เพื่อใช้ในการเทียบหาตำแหน่งเซลล์ตรงกัน

สูตรแบบที่ 1 เป็นสูตรที่มีอยู่แล้วใน Excel สามารถคำนวณหายอดรวมตามเงื่อนไขที่กำหนด แต่มีข้อจำกัดว่า ไม่สามารถนำสูตรคำนวณอื่นซ้อนเข้าไปได้อีก เราต้องใช้ผลลัพธ์สุดท้ายจากภายนอก เป็นค่าที่คำนวณเสร็จแล้ว นำเข้าไปใช้ในสูตร

สูตรแบบที่ 2 และ 3 เป็นสูตร Array Formula ต้องกดปุ่ม Ctrl+Shift+Enter พร้อมกัน จึงจะเกิดเครื่องหมายวงเล็บปีกกาปิดหัวท้ายของสูตรให้เอง

ตัวอย่างสูตร (สูตรในตัวอย่างเป็นสูตรแบบที่ 2)

{=SUM( IF( ID=IDChoice, Age))}

คืนค่าเป็นตัวเลขยอดรวมของเซลล์ในตารางชื่อ Age เฉพาะเซลล์ซึ่งมีตำแหน่งตรงกับ เซลล์ที่มีค่าเท่ากับ IDChoice ในตารางชื่อ ID

{=SUM( IF(Name=NameChoice, Age) )}

คืนค่าเป็นตัวเลขยอดรวมของเซลล์ในตารางชื่อ Age เฉพาะเซลล์ซึ่งมีตำแหน่งตรงกับ เซลล์ที่มีค่าเท่ากับ NameChoice ในตารางชื่อ Name

สูตรแบบที่ 2 สามารถนำไปดัดแปลงให้คำนวณเป็นสูตรอื่นซึ่งไม่ใช่สูตร Sum เพียงเปลี่ยนคำว่า Sum เป็นสูตรอื่นๆ เช่น Count, Average, Max, Min เป็นต้น

{=COUNT( IF( ID=IDChoice, Age))}

{=AVERAGE( IF( ID=IDChoice, Age))}

{=MAX( IF( ID=IDChoice, Age))}

{=MIN( IF( ID=IDChoice, Age))}

สำหรับสูตรแบบที่ 3 จะนำเสนอในหลักสูตรขั้นเจาะลึก หรือขั้นประยุกต์ใช้ Excel

นำมาจาก //www.excelexperttraining.com/training/manual/tip2001/tip06.html เก็บไว้เพื่อเรียกดูเวลาด่วนๆ ขอบคุณไปยังเจ้าของด้วยครับ




Create Date : 27 กรกฎาคม 2549
Last Update : 25 สิงหาคม 2549 16:53:37 น. 0 comments
Counter : 2650 Pageviews.  
 

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