Hướng dẫn VBA này đi kèm với sổ làm việc Excel có chứa các macro mà tôi sử dụng trong các ví dụ bên dưới. Bạn có thể truy cập miễn phí ngay lập tức vào sổ làm việc ví dụ đi kèm với Hướng dẫn VBA này bằng cách đăng ký Bản tin Power Spreadsheets
Khi bạn đang làm việc với VBA bên trong Excel, nhiều khả năng bạn sẽ tự động hóa một số loại thay đổi đối với trang tính bên trong tệp của mình. Hướng dẫn VBA sau đây nhằm mục đích cho bạn thấy rằng bạn có thể nhắm mục tiêu các trang tính cụ thể trong sổ làm việc của mình để áp dụng các thay đổi cho chúng
Bảng tính tham khảo theo tên mã [BEST PRACTICE. ]
Tờ1. Phạm vi ["A1"]. Giá trị = 100
Bảng tính tham khảo theo tên
Sổ làm việc này. Trang tính ["Tab tóm tắt"]. Phạm vi ["A1"]. Giá trị = 100
Tài liệu tham khảo Trang tính đã xem hiện tại
Bảng hoạt động. Phạm vi ["A1"]. Giá trị = 100
Bảng tính tham khảo theo vị trí
Sổ làm việc này. Bảng tính[3]. Phạm vi ["A1"]. Giá trị = 100
Tham chiếu Trang tính cuối cùng trong Sổ làm việc
Sổ làm việc này. Bảng tính [ThisWorkbook. trang tính. Đếm]. Phạm vi ["A1"]. Giá trị = 100
Bảng tính tham khảo trong một bảng tính khác
Sổ làm việc["Book2"]. Trang tính ["Trang tính 1"]. Phạm vi ["A1"]. Giá trị = 100
Lưu trữ bảng tính thành một biến
Dim sht As Bảng tính
Set sht = ThisWorkbook.Worksheets["Summary Tab"]
Lưu trữ bảng tính mới được tạo vào một biến
Dim sht As Bảng tính
Set sht = ThisWorkbook.Worksheets.Add[After:=ThisWorkbook.Sheets.Count]
Lặp qua mọi trang tính trong sổ làm việc
Sub WorksheetLoop[]
Dim sht As . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính . Trang tính Worksheet
For Each sht In ThisWorkbook.Worksheets
sht. Phạm vi ["A1"]. Giá trị = 100
Tiếp theo sht
Kết thúc Phụ
Lặp qua mọi trang tính theo thứ tự đảo ngược
Sub WorksheetReverseLoop[]
Dim x As x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm x As . bảng tính. Đếm Long
'Reverse Loop Through Sheets
For x = ThisWorkbook.Worksheets.Count Đến 1 Bước -1
ThisWorkbook.Worksheets[x].Range["A1"].Value = 100
Tiếp theo x
Kết thúc Sub
Lặp qua danh sách tên trang tính
Sub WorksheetListLoop[]
Dim SheetList As SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 SheetList As . Trang tính [Danh sách trang tính [x]]. Phạm vi ["A1"]. Giá trị = 100 Variant
'List Sheet Names into an Array Variable
SheetList = Array["Sheet1", "Sheet4", "Sheet6"]
'Loop through list
For x = LBound[SheetList] To UBound[SheetList]
ThisWorkbook.Worksheets[SheetList[x]].Range["A1"].Value = 100
Tiếp theo x
Kết thúc Sub
Giới thiệu về tác giả
chào bạn. Tôi là Chris và tôi điều hành trang web TheSpreadsheetGuru khi rảnh rỗi. Ban ngày, tôi thực sự là một chuyên gia tài chính phụ thuộc khá nhiều vào Microsoft Excel trong thế giới doanh nghiệp. Tôi thích lấy những điều tôi học được trong “thế giới thực” và chia sẻ chúng với mọi người ở đây trên trang web này để bạn cũng có thể trở thành chuyên gia bảng tính tại công ty của mình
Qua nhiều năm làm việc trong thế giới doanh nghiệp, tôi đã có thể nắm bắt các cơ hội để làm việc với Excel tốt hơn và đã xây dựng nhiều phần bổ trợ Excel khác nhau, từ việc chèn ký hiệu dấu tích đến tự động sao chép/dán từ Excel sang PowerPoint. Nếu bạn muốn cập nhật những tin tức mới nhất về Excel và nhận trực tiếp các mẹo Excel có ý nghĩa nhất mà tôi đã học được qua email trong nhiều năm, bạn có thể đăng ký nhận bản tin miễn phí của tôi. Tôi hy vọng tôi có thể cung cấp cho bạn một số giá trị ngày hôm nay và tôi hy vọng sẽ sớm gặp lại bạn ở đây
Khi bạn bắt đầu học VBA, một trong những điều thú vị nhất bạn có thể làm là viết mã VBA để chèn một trang tính mới vào sổ làm việc
Chà, đã có một phím tắt để chèn một trang tính mới hoặc bạn cũng có thể sử dụng tùy chọn bình thường nhưng lợi ích của việc sử dụng mã VBA là bạn có thể thêm nhiều trang tính chỉ bằng một cú nhấp chuột và bạn cũng có thể xác định nơi bạn muốn thêm.
Đối với điều này, bạn cần sử dụng Sheets. Phương thức Add và trong bài đăng này, chúng ta sẽ học cách sử dụng phương thức này để thêm một hoặc nhiều trang tính vào sổ làm việc
trang tính. Thêm phương pháp
Sheets.Add [[Before], [After], [Count], [Type]]
- Trước. Để thêm một trang tính mới trước một trang tính
- Sau đó. Để thêm trang tính mới trước một trang tính
- Đếm. Số tờ cần thêm
- Loại. Loại trang tính bạn muốn thêm [LINK]
Viết mã VBA để THÊM một trang tính mới trong sổ làm việc
Mở trình chỉnh sửa trực quan cơ bản và làm theo các bước sau
- Trước tiên, bạn cần nhập Trang tính. thêm phương pháp
- Sau đó, bạn cần xác định vị trí để thêm trang tính mới [Trước hoặc Sau]
- Việc tiếp theo là nhập số lượng trang tính
- Cuối cùng, loại tấm
Các cách khác nhau để thêm trang tính mới vào sổ làm việc bằng mã VBA
Dưới đây bạn có các cách khác nhau để thêm một trang tính mới vào sổ làm việc
1. Thêm một trang tính
Để thêm một trang tính, bạn có thể sử dụng mã bên dưới, nơi bạn không chỉ định bất kỳ đối số nào
Sub SheetAddExample1[]
ActiveWorkbook.Sheets.Add
End Sub
Mã này yêu cầu Excel thêm một trang tính vào sổ làm việc đang hoạt động, nhưng vì bạn không có bất kỳ đối số nào nên nó sẽ sử dụng các giá trị mặc định và thêm một trang tính [xlWorksheet] trước trang tính đang hoạt động
Đây là một cách nữa để viết cái này, hãy xem đoạn mã dưới đây
Sub SheetAddExample2[]
Sheets.Add
End Sub
Vì bạn đã ở trong sổ làm việc đang hoạt động, bạn cũng có thể sử dụng mã bên dưới. Nó làm điều tương tự
2. Thêm nhiều trang tính
Để thêm nhiều trang tính trong một lần, bạn chỉ cần xác định đối số COUNT với số lượng trang tính bạn muốn thêm
Sub AddSheets3[]
Sheets.Add Count:=5
End Sub
Bây giờ số trang tính mà bạn đã xác định là 5, vì vậy khi bạn chạy mã này, nó sẽ ngay lập tức thêm năm trang tính mới vào sổ làm việc
3. Thêm một trang tính có tên
Nếu bạn muốn đổi tên trang tính sau khi thêm nó, bạn có thể sử dụng đoạn mã sau
Sub AddNewSheetswithNameExample1[]
Sheets.Add.Name = "myNewSHeet"
End Sub
Trong đoạn mã trên, chúng tôi đã sử dụng đối tượng tên [LINK] giúp bạn chỉ định tên của trang tính
4. Thêm một trang tính có tên từ một ô
Bạn cũng có thể lấy giá trị để sử dụng làm tên của trang tính từ một ô
Sub AddNewSheetswithNameExample2[]
Sheets.Add.Name = Range["A1"]
End Sub
Trong đoạn mã trên, ô A1 được sử dụng để lấy tên cho trang tính mới
5. Thêm một trang tính sau/trước một trang tính cụ thể
Vì các đối số này đã có sẵn trong Trang tính. Thêm nơi bạn có thể chỉ định trang tính để thêm trang tính mới trước hoặc sau trang tính đó
Sub AddSheetsExample5[]
Sheets.Add Before:=Worksheets["mySheet"]
Sheets.Add After:=Worksheets["mySheet"]
End Sub
Bây giờ trong đoạn mã trên, bạn đã sử dụng Câu lệnh IF của VBA và trong câu lệnh này, bạn có chức năng kiểm tra trang tính để kiểm tra tên trang tính và sau đó bạn có điều kiện để kiểm tra xem ô tên có giá trị trống không