หน้าเว็บ

วันศุกร์ที่ 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 ความคิดเห็น:

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

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

    ตอบลบ
  3. ไม่ระบุชื่อ21 เมษายน 2557 เวลา 23:00

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

    ตอบลบ

*** เพื่อความสะดวกในการถามตอบ สามารถสอบถามปัญหา Excel ได้ที่ http://www.snasui.com/ ***

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น