หน้าเว็บ

วันศุกร์ที่ 31 ธันวาคม พ.ศ. 2553

การเพิ่ม Sheet อัตโนมัติตามรายชื่อที่ให้ไว้ล่วงหน้าด้วย VBA

ในบางงานเราอาจจำเป็นต้องเพิ่มชีทหลาย ๆ ชีท และต้องการให้ชื่อชีทเป็นชื่อที่เรากำหนดไว้แล้วล่วงหน้า การทำเช่นนี้หากทำด้วย Manual จะใช้เวลามาก แต่หากใช้ VBA มาช่วยจะลดเวลาได้มากมายครับ ซึ่งจะขอยกตัวอย่างการใช้ VBA ในการเพิ่มชีทตามด้านล่าง แต่ต้องเตรียมข้อมูลชื่อชีทไว้ก่อนล่วงหน้า โดยมีวิธีการดังนี้คือ

  1. เพิ่มชีทใหม่มา 1 ชีทโดยให้ชื่อว่า Sheet1 > Copy รายชื่อมาวางโดยเริ่มที่เซลล์ A1
  2. จากนั้นเปิดหน้าต่าง VBE โดยการกดแป้น Alt+F11 > เข้าเมนู Insert > Module แล้วนำ Code ด้านล่างไปวาง

    Sub AddWorkSheets() 
    Dim i As Long
    Dim r As Range
    On Error Resume Next
    With Worksheets("Sheet1")
    Set r = .Range("A1", .Range("A65536").End(xlUp))
    End With
    For i = 1 To r.Count
    Worksheets.Add(After:=Worksheets(Worksheets.Count)) _
    .Name = r.Cells(i, 1).Value
    Next i
    End Sub



  3. เมื่อต้องการ Run Code กดแป้น Alt+F8 > เลือก AddWorkSheets > Run

3 ความคิดเห็น:

YoguZaA YoguZaA กล่าวว่า...

วงเล็บปิด ) หายไป 1 เครื่องหมายครับ ท่านอาจารย์

Santipong Nasui กล่าวว่า...

ขอบคุณที่แจ้ง แก้ไขเรียบร้อยแล้วครับ

ไม่ระบุชื่อ กล่าวว่า...

ขอบคุณมากครับ