|
บันทึกโค้ด 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 : 2663 Pageviews. |
|
|
|
|
|
|
|
mitrapap |
|
|
|
|