Bạn đang có một sheet mẫu Excel và bạn muốn tạo ra các sheet trong File Excel theo một mẫu và đặt tên theo thứ tự,.... Nếu cách bạn thực hiện các thao tác này bằng cách làm Excel thông thường công việc nàysẽ mất rất nhiều thao tác cũng như thời gian. Vì vậy trong bài viết này Bluesofts sẽ hướng dẫn với các bạn một phương pháp sử dụng VBA để có thực hiện công việc một cách nhanh chóng và hiệu quả nhất.
1. Khai báo biến:
Dim i As Long
Dim b As Long
Dim sh As Worksheet
2. Gán sh bằng sheet DINH_NGHIA.
Set sh = Sheets("DINH_NGHIA")
3. Tìm dòng cuối cùng trong trong sheet DINH_NGHIA
b = sh.Range("A" & sh.Columns(1).Rows.Count).End(xlUp).Row
4. Sử dụng khối IF và vòng lặp để thực hiện việc sao chép từ sheet mẫu sang và thay tên sheet mới theo bảng định nghĩa.
If Sheets.Count < b + 2 Then
For i = 1 To b
Sheets("MAU").Copy sh
ActiveSheet.Name = sh.Cells(i, 1).Value
Next i
End If
Chỉ đơn giản như vậy bạn đã có thể biến công việc nhàm chán copy,paste, Insert sheet, đổi name … lập đi lập lại bằng cách làm vô cùng đơn giản. Với các bài toán khác nếu bạn biết cách vận dụng tốt những kiến thức về VBA bạn hoàn toàn có thể giúp có thể thực hiện công việc hiệu quả hơn rất nhiều lần so với những người khác. Chúc bạn ứng dụng tốt những kiến thức vào quá trình để làm việc.
Link tải File: DOWLOADFILE
Code:
Sub Addsheet()
Dim i As Long
Dim b As Long
Dim sh As Worksheet
Set sh = Sheets("DINH_NGHIA")
'Dong cuoi
b = sh.Range("A" & sh.Columns(1).Rows.Count).End(xlUp).Row
If Sheets.Count < b + 1 Then
For i = 1 To b
Sheets("MAU").Copy sh
ActiveSheet.Name = sh.Cells(i, 1).Value
Next i
End If
End Sub