VBA Thêm trang tính mới - Tên, trước / sau và các ví dụ khác

Hướng dẫn này sẽ thảo luận về cách thêm / chèn trang tính bằng VBA.

Thêm trang tính

Macro đơn giản này sẽ thêm một Trang tính trước ActiveSheet:

123 Sub Thêm ()Sheets.AddKết thúc Sub

Sau khi chèn một Trang tính, Trang tính mới sẽ trở thành Trang tính Hoạt động. Sau đó, bạn có thể sử dụng đối tượng ActiveSheet để làm việc với Trang tính mới (Ở cuối bài viết này, chúng tôi sẽ hướng dẫn cách chèn trang tính mới trực tiếp vào một biến).

1 ActiveSheet.Name = "NewSheet"

Thêm trang tính với tên

Bạn cũng có thể xác định tên Trang tính khi tạo Trang tính mới:

1 Sheets.Add.Name = "NewSheet"

Tạo trang tính mới với tên từ một ô

Hoặc sử dụng giá trị ô để đặt tên cho Trang tính mới:

1 Sheets.Add.Name = range ("a3"). Giá trị

Thêm trang tính trước / sau trang tính khác

Bạn cũng có thể muốn chọn vị trí nơi Trang tính mới sẽ được chèn. Bạn có thể sử dụng thuộc tính Sau hoặc Trước để chèn trang tính vào một vị trí cụ thể trong sổ làm việc.

Chèn trang tính sau trang tính khác

Mã này sẽ chèn trang tính mới SAU một trang tính khác:

1 Sheets.Add After: = Trang tính ("Đầu vào")

Thao tác này sẽ chèn một Trang tính mới SAU một trang tính khác và chỉ định tên Trang tính:

1 Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet"

Chú ý dấu ngoặc phụ được yêu cầu trong ví dụ thứ hai (ví dụ đầu tiên sẽ tạo ra lỗi nếu dấu ngoặc thứ hai được thêm vào).

hoặc trước:

1 Sheets.Add (Trước: = Trang tính ("Đầu vào")). Name = "NewSheet"

Trong các ví dụ này, chúng tôi đặt tên rõ ràng cho Trang tính được sử dụng để xác định vị trí trang tính. Thường thì bạn sẽ muốn sử dụng số Chỉ mục trang tính để thay thế, để bạn có thể chèn trang tính vào đầu hoặc cuối Sổ làm việc:

Thêm trang tính vào cuối sổ làm việc

Để thêm một Trang tính vào cuối sổ làm việc:

1 Sheets.Add After: = Trang tính (Sheets.Count)

Thêm trang tính vào đầu sổ làm việc:

Để thêm một Trang tính vào đầu sổ làm việc:

1 Sheets.Add (Trước: = Trang tính (1)). Name = "Trang tính đầu tiên"

Thêm trang tính vào biến

Mã này gán Trang tính mới cho một biến khi trang tính được tạo:

12 Dim ws As WorksheetĐặt ws = Sheets.Add

Từ đây, bạn có thể tham chiếu trang tính mới với biến ‘ws’:

1 ws.name = "VarSheet"

Thêm Ví dụ về Trang tính khác

Tạo trang tính nếu nó chưa tồn tại

Bạn có thể chỉ muốn tạo một trang tính nếu nó chưa tồn tại.

Tạo trang tính từ danh sách tên

Quy trình sau đây sẽ xem xét nội dung của một cột duy nhất thiết lập trang tính Excel trong sổ làm việc hiện tại với các tên này. Nó thực hiện một cuộc gọi đến một hàm khác để xem liệu một trang tính có tên đó đã tồn tại hay chưa và nếu có thì trang tính đó chưa được tạo.

1234567891011121314151617181920212223242526 Private Sub CommandButton1_Click ()Gọi CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))Kết thúc SubSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountFor i = 1 To No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1) .Value'Chỉ thêm trang tính nếu nó chưa tồn tại và tên dài hơn 0 ký tựIf (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") ThìWorksheets.Add (). Name = Sheet_NameKết thúc nếuTiếp theo tôiKết thúc Sub
1234567891011121314 Hàm Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet dưới dạng WorksheetSheet_Exists = SaiĐối với mỗi Work_sheet Trong ThisWorkbook.WorksheetsNếu Work_sheet.Name = WorkSheet_Name thìSheet_Exists = TrueKết thúc nếuKế tiếpChức năng kết thúc

Vì vậy, nếu chúng ta có văn bản sau trong các ô A1: A30 trong Trang tính 2:

Sau đó, các trang tính sau sẽ được tạo:

Lưu ý rằng mặc dù “Con chó” xuất hiện hai lần, chỉ một trang tính được tạo.

Để tải xuống tệp .XLS cho hướng dẫn này, hãy nhấp vào đây.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave