วนลูป for เก็บข้อมูลเข้า array 1มิติ (VBA for Excel)

By |2020-01-14T16:24:36+07:00มกราคม 14th, 2020|VBA for Excel|

การเก็บข้อมูลตัวแปรที่มีจำนวนมากๆ อาจจะไม่สะดวก ถ้าข้อมูลเป็นประเภทเดียวกันและมีจำนวนมาก จึงนิยมเก็บข้อมูลเป็นตัวแปรประเภท Array ตัวอย่าง การวนลูป For เพื่อเก็บข้อมูลเข้าอาร์เรย์ 1 มิติ แบบง่าย Dim x_name() As String 'ประกาศตัวแปร x_name ให้เป็นอาร์เรย์ แบบเก็บข้อความ x_size = Application.WorksheetFunction.CountA(Range("A:A")) 'ให้ตัวแปร x_size เก็บตัวเลขจำนวนบรรทัดที่มีข้อมูลในคอลัมน์ A ReDim x_name(1 To x_size) 'กำหนดขอบเขตตัวแปรย่อยใน Array ให้เริ่มจาก [...]

VBA นับจำนวน โดยใช้ CountA

By |2019-09-09T11:11:13+07:00กันยายน 9th, 2019|VBA for Excel|

โค้ด VBA ก็มีฟังก์ชั่น คล้ายใน Excel โดยมีรูปแบบการใช้งาน ดังนี้ Application.WorksheetFunction. ตามด้วยฟังก์ชั่นที่ต้องการ ในกรณีที่ต้องการหาจำนวนนับ ก็สามารถใช้ฟังก์ชั่น CountA ได้ใน VBA ตัวอย่างที่ 1 ให้หาจำนวนชื่อทั้งหมดว่ามีกี่คน? สามารถเขียนโค้ดได้ดังนี้ Sub grade() ' ' NumRows = Application.WorksheetFunction.CountA(Range("A:A")) MsgBox "จำนวนคนทั้งหมด " & NumRows - 1 & [...]

วิธีหาเซล บรรทัดสุดท้ายด้วย VBA ใน Excel

By |2019-09-03T11:13:48+07:00กันยายน 3rd, 2019|VBA for Excel|

โดยปกติ Excel สามารถใช้ ปุ่ม End ในการกระโดดข้ามไปหาเซลสุดท้ายได้ และอาจบังคับทิศทางจากปุ่มลูกศร ในบางครั้งถ้าจะบันทึกข้อมูลต่อ ก็จำเป็นต้องทราบบรรทัดสุดท้าย เพื่อจะนำข้อมูลใหม่ เข้าไปต่อได้อย่างถูกต้อง สามารถใช้วิธีพร็อพเพอร์ตี้ End มาช่วยในการวิ่งหาเซลจุดสุดท้ายได้ ตัวอย่าง เขียนโค้ด VBA เพื่อหาบรรทัดสุดท้าย เพื่อพิมพ์ชื่อ สมหมาย ต่อเข้าไป จากตัวอย่าง เราต้องหาจุดอ้างอิง เช่นเซลบรรทัดแรก หรือ เซลบนสุด และใช้ End Property ในการควบคุมทิศทาง ดังต่อไปนี้ Public [...]

MsgBox แบบถามตอบ Yes/No

By |2019-09-03T11:17:26+07:00กันยายน 2nd, 2019|VBA for Excel|

สร้าง Message Box คำถาม ในบางครั้งการเขียนโค้ด หรือ VBA แบบมีทางเลือก ก็จำเป็นต้องรับข้อมูลคำตอบจากผู้ใช้งาน เราสามารถประยุกต์ใช้ Message Box เพื่อถามผู้ใช้งานได้ ตัวอย่าง Public Sub msg_box1() If MsgBox("คุณต้องการคำนวณผลหรือไม่?", vbYesNo + vbQuestion, "แจ้งการคำนวณผล") = vbYes Then MsgBox "คุณกดที่ Yes", , "Result" Else [...]

Go to Top