ข้ามไปที่เนื้อหาหลัก

การเลือกเซลล์ ด้วย Excel VBA

การเลือกเซลล์ ด้วย VBA ถ้ารู้ว่าจะเลือกเซลล์อะไร หรือ เซลล์อะไรถึงอะไร ก็ไม่ยาก ใช้ Range มาช่วย ดังนี้

ต้องการเลือกเซลล์ B3
Sub example1()
    Sheets("Sheet1").Range("B3").Select 
End Sub
หรือ
Sub example2()
    Sheets("Sheet1").Cells(3, 2).Select
End Sub

หมายเหตุ
Sheets("Sheet1").Cells(3, 2) คือ เซลล์แถวที่ 3 คอลัมน์ที่ 2 ของ Worksheet1

ต้องการเลือกเซลล์ A2:B8

Sub example3()
    Sheets("Sheet1").Range("A2", "B8").Select
'    หรือ
'    Sheets("Sheet1").Range(Cells(2, 1), Cells(8, 2)).Select
End Sub

แต่ถ้าต้องการเลือกจำนวนเซลล์โดยขึ้นอยู่กับตัวแปร ว่าจะเลือกกี่เซลล์ลงมา อย่างนี้ ต้องใช้อีกแบบหนึ่ง เช่น

คำสั่ง:
ให้เลือกบริเวณตั้งแต่เซลล์ C2 ลงมา 4 เซลล์ และไปทางขวาอีก 1 คอลัมน์

Sub example4()
Dim numOfCells As Byte
    numOfCellsDown = 4
    Sheets("Sheet1").Select
    Range(Cells(2, 3), Cells(2 + (numOfCellsDown), 3 + 1)).Select
End Sub

จะได้ดังภาพ


การเลือกช่วงเซลล์และคัดลอกไปอีก Sheet หนึ่ง

Sub example5()
    Sheets("Sheet1").Select
    Range("B4:C9").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("A4").Select
    ActiveSheet.Paste
End Sub

การเลือกเซลล์โดยยึดเซลล์ที่กำหนด
การเลือกลักษณะนี้สามารถใช้ คำสั่ง Offset มาใช้งานได้

คำสั่ง:
ให้เลือกเซลล์ที่ห่างจากเซลล์ B4 ไปทางขวา 1 เซลล์ และลงมาด้านล่าง 3 เซลล์

Sub example6()
ActiveSheet.Cells(4, 2).Offset(3, 1).Select
End Sub


คำสั่ง:
ให้เลือกเซลล์ที่ห่างจากเซลล์ B4 ไปทางซ้าย 1 เซลล์ และขึ้นไปด้านบน 1 เซลล์

 Sub example7()
    ActiveSheet.Cells(4, 2).Offset(-1, -1).Select
End Sub

คำสั่ง:
ให้เลือกเซลล์บนสุดของเซลล์ B7 ใน Sheet1 ในชุดข้อมูลนี้

Sub example8()
    Worksheets("Sheet1").Activate
    Range("B7").End(xlUp).Select
End Sub

การเลือกจากเซลล์ปัจจุบัน ไปตำแหน่งขวาสุดในข้อมูลชุดนี้

คำสั่ง:
ให้เลือกเซลล์ขวาสุดของเซลล์ B7 ใน Sheet1 ในชุดข้อมูลนี้

Sub example9()
    Range("B7").End(xlToRight).Select
End Sub


คำสั่ง:
ให้เลือก ช่วงของเซลล์ จาก B4 ไปทางขวา จำนวน 1 เซลล์ (B4:C4)

Sub example10()
    Sheets("Sheet1").Activate
    Range(Cells(4, 2), Cells(4, 2 + 1)).Select
End Sub

คำสั่ง:
ให้เลือก ช่วงของเซลล์ จาก B4 ไปทางขวา จำนวน 1 เซลล์ และลงมาด้านล่างจำนวน 2 เซลล์ (B4:C6)

Sub example11()
    Sheets("Sheet1").Activate
    Range(Cells(4, 2), Cells(4 + 2, 2 + 1)).Select
End Sub

การเลือกจากเซลล์ปัจจุบัน ไปข้างล่างจนสุดที่มีข้อมูล

คำสั่ง:
ให้เลือกเซลล์ตั้งแต่ A2 ไปด้านล่างที่มีข้อมูลทุกเซลล์ในชุดข้อมูลนี้

Sub example12()
    Sheets("Sheet1").Select
    Range("A2", Range("A2").End(xlDown)).Select
'    หรือ
'    Sheets("Sheet1").Range("A4").Select
'    Range(Selection, Selection.End(xlDown)).Select
End Sub
จะได้ดังภาพ

การเลือกจากตำแหน่งเซลล์ที่เลือกปัจจุบัน ไปทางขวาสุดที่มีข้อมูล และลงมาถึงเซลล์ล่างสุดที่มีข้อมูล

Sub example13()
    Sheets("Sheet1").Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
End Sub

การเลือก และคัดลอกข้อมูลในเซลล์ จากแนวนอนมาไว้เป็นแนวตั้ง (ประยุกต์ใช้คำสั่งข้างต้น)

คำสั่ง:
ให้คัดลอกข้อมูลในเซลล์ B1:F2 มาไว้เป็นแนวตั้ง ในบริเวณ B5:C9
ใช้โค้ดต่อไปนี้

Sub example14()
Dim i As Byte
Dim j As Byte
For i = 0 To 4
    For j = 0 To 1
        Sheets("Sheet1").Cells(5 + i, 2 + j).Value = Sheets("Sheet1").Cells(1 + j, 2 + i).Value
    Next j
Next i
End Sub

เมื่อเรียกใช้งานโค้ดข้างบน จะผลที่ได้ ดังนี้





ความคิดเห็น

  1. ก่อนจะใช้ selection ต้อง imports อะไรเข้ามาก่อนหรือเปล่าครับ พอดีว่า ผมใช้ selection แล้ว not declared
    mail : thongchai.jindatam@gmail.com

    ตอบลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อุปมา อุปไมย สำนวนการเปรียบเทียบ ของไทย

การเตรียมสอบ ก.พ. ภาค ก. เพื่อสอบบรรจุเข้ารับราชการ มีการทดสอบความสามารถทั่วไป มักจะมี
ข้อสอบที่เกี่ยวกับอุปมาอุปไมย  ข้อสอบมีลักษณะ ให้หาตัวเลือกที่มีความหมาย ความสัมพันธ์คล้ายคลึง หรือเหมือนกับที่โจทย์กำหนดให้มา  หรือเติมข้อความที่มีความหมายสอดคล้องกับคำอุปมาอุปไมยที่ยกมาให้ เป็นต้น ดังนั้น การเข้าใจความหมายของคำอุปมาอุปไมย จึงช่วยให้ทำข้อสอบได้ดียิ่งขึ้น

คำอุปมาอุปไมย หมายถึง ถ้อยคำที่เป็นสำนวนพวกหนึ่ง กล่าวทำนองเปรียบเทียบ ให้เห็นจริง เข้าใจแจ่มแจ้งชัดเจน และสละสลวยน่าฟังมากขึ้น การพูดหรือการเขียน นิยมหาคำอุปมาอุปไมยมาเติมให้ได้ความชัดเจนเกิดภาพพจน์ เข้าใจง่าย เช่น

คนดุ หากต้องการให้ความหมายชัดเจน น่าฟัง และเกิดภาพพจน์ชัดเจนก็ต้องอุปมาอุปไมยว่า “ดุ เหมือน เสือ”
ขรุขระมาก การสื่อความยังไม่ชัดเจนไม่เห็นภาพ ต้องอุปมาอุปไมยว่า “ขรุขระเหมือนผิวมะกรูด” หรือ “ขรุขระเหมือนผิวพระจันทร์” ก็จะทำให้เข้าใจ ความหมายในรูปธรรมชัดเจนมากยิ่งขึ้น

คำอุปมาอุปไมยที่ควรรู้จัก (พิมพ์คำ/ข้อความ แล้วกดปุ่ม "ค้นหา")

แนวข้อสอบ เงื่อนไขสัญลักษณ์

ครั้งที่แล้ว ได้แนะนำหลักการทำ ข้อสอบ ก.พ. ภาค ก. ความสามารถทั่วไป เงื่อนไขสัญลักษณ์ มา แล้ว ถ้าใครยังไม่ได้อ่าน ก็คลิกกลับไปอ่านได้
ความจริง ข้อสอบเงื่อนไขสัญลักษณ์ เป็นข้อสอบไม่ยาก ถ้าเข้าใจหลักการ และมีทักษะความชำนาญ ใจเย็น ๆ อย่าตื่นเต้น โดยเฉพาะการดูเครื่องหมายต่าง ๆ อย่าดูผิด เช่น เครื่องหมายมากกว่า (>) น้อยกว่า (<) เป็นต้น เพราะการแก้ปัญหาโจทย์เงื่อนไขสัญลักษณ์ หรือ inequality ก็คล้ายกับการแก้ปัญหาสมการโดยทั่วไป นั่นเอง คือ สามารถบวก ลบ คูณ หาร ด้วยจำนวนที่เท่ากัน ทั้งสองข้างของเครื่องหมายได้ กลับเศษเป็นส่วนได้ แต่ก็มีบางเรื่อง บางรายละเอียดที่แตกต่างกันบ้าง ซึ่งอ่านได้จาก ข้อสอบ ก.พ. ภาค ก. ความสามารถทั่วไป เงื่อนไขสัญลักษณ์ นะครับ ครั้งนี้ จึงเป็นการนำแนวข้อสอบ เงื่อนไขสัญลักษณ์ เพื่อนำมาฝึกทำให้เกิดทักษะความชำนาญ เพื่อจะได้ทำข้อสอบได้รวดเร็วขึ้น เพราะในห้องสอบ เวลาจัดได้ว่ามีค่ามาก ยิ่งทำเร็วและถูกต้อง ยิ่งดี คำสั่ง

เลือกตอบข้อ 1. ถ้าข้อสรุปทั้งสอง ถูกด้องหรือเป็นจริง ตามเงื่อนไข
เลือกตอบข้อ 2. ถ้าข้อสรุปทั้งลอง ผิดหรือไม่เป็นจริง ตามเงื่อนไข
เลือกตอบข้อ 3. ถ้าข้อ…

เทคนิคการทำ ข้อสอบ อนุกรม ของ ก.พ.

|ประเภทของอนุกรม เทคนิคการทำโจทย์เลข อนุกรม ข้อแนะนำเพิ่มเติม |


ข้อสอบเลขอนุกรม ของ ก.พ. ต้องการวัดความถนัดทางด้านตัวเลข โดยการจัดทำตัวเลขเป็นชุด ๆ ที่มีความสัมพันธ์กันบางอย่าง โดยให้ผู้เข้าสอบได้แสดงความถนัดด้านตัวเลข ในการวิเคราะห์และแก้ปัญหาตามที่โจทย์ระบุ


ประเภทของอนุกรม รูปแบบความสัมพันธ์ของตัวเลขอนุกรมเท่าที่พบบ่อย ๆ มีหลายประเภท เช่น

ก. อนุกรมเชิงเดี่ยว 

ได้แก่ชุดตัวเลขที่เป็นอนุกรมเพียงชุดเดียว เช่น
ค่าของตัวเลขเพิ่มขึ้นต่อเนื่องอย่างเป็นระบบ โดยการบวก หรือ คูณ ตัวเลขก่อนหน้า เช่น บวกด้วยตัวเลขที่เป็นค่าคงที่ เช่น    5   10   15   20   ...?...
บวกด้วยตัวเลขที่มีระบบ เช่น     1    2    5    10   ...?...
คูณด้วยค่าคงที่ เช่น   1   3   9   27   ...?...
มีทั้ง บวก ลบ คูณ หรือหาร สลับกัน เช่น บวกแล้วคูณด้วยค่าคงที่สลับกัน ดังตัวอย่าง  5   7    14   16  32   ...... มีการ บวก ลบ คูณ หรือ หาร ร่วมกัน เช่น  15   31   63   127   255  ...?...
ในตัวอย่างนี้ จะเห็นว่า ตัวเลขตัวแรกคูณด้วย 2 และบวกด้วย 1 จะได้ตัวเลขตัวถัดไป คูณด้วยค่าคงที่ที่เป็นเศษส่วน ให้สังเกตความสัมพันธ์ว่า ตัวเลขก่อนหน้า …