Giúp mình hàm/code tự động đặt tên cho sheet (1 người xem)

Người dùng đang xem chủ đề này

concuarangme

Thành viên chính thức
Tham gia
6/1/09
Bài viết
97
Được thích
0
Các bạn hướng dẫn giúp mình Hàm/Code tự động đặt tên (tên sheet = ngày hiện tại hoặc = tên của 1 ô quy định trước) cho sheet khi mình bấm tạo sheet mới nhé. Xin cảm ơn các bạn.

1348456368256839_574_574.jpg
[/URL][/IMG]
 
Các bạn hướng dẫn giúp mình Hàm/Code tự động đặt tên (tên sheet = ngày hiện tại hoặc = tên của 1 ô quy định trước) cho sheet khi mình bấm tạo sheet mới nhé. Xin cảm ơn các bạn.

1348456368256839_574_574.jpg
[/URL][/IMG]

Mã:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.Name = VBA.Replace(Date, "/", "")
End Sub
Bạn Chép code này vào Thisworkbook
 
Upvote 0
Mã:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.Name = VBA.Replace(Date, "/", "")
End Sub
Bạn Chép code này vào Thisworkbook


cảm ơn bạn đã giúp mình. bạn giúp mình thêm trường hợp này nữa nhé, vì trong 1 ngày mà mình bấm hơn 1 lần tạo sheet mới thì báo lỗi code, có cách nào khắc phục được không bạn.

Ví dụ:

- Tạo sheet mới lần đầu tiên trong ngày -> Name sheet = 24.09.2012
- Tạo sheet mới lần thứ 2...thứ n trong ngày -> Name sheet = 24.09.2012 (2) ....24.09.2012 (n) hoặc là 1 name gì đó để không báo lỗi code.

cảm ơn bạn nhiều.
 
Upvote 0
cảm ơn bạn đã giúp mình. bạn giúp mình thêm trường hợp này nữa nhé, vì trong 1 ngày mà mình bấm hơn 1 lần tạo sheet mới thì báo lỗi code, có cách nào khắc phục được không bạn.

Ví dụ:

- Tạo sheet mới lần đầu tiên trong ngày -> Name sheet = 24.09.2012
- Tạo sheet mới lần thứ 2...thứ n trong ngày -> Name sheet = 24.09.2012 (2) ....24.09.2012 (n) hoặc là 1 name gì đó để không báo lỗi code.

cảm ơn bạn nhiều.
Cho code dưới đây vào 1 Module
PHP:
Function SheetExist(ByVal wksName As String) As Boolean
  On Error Resume Next
  SheetExist = Not ThisWorkbook.Sheets(wksName) Is Nothing
End Function
Sửa sự kiện Workbook_NewSheet thành:
PHP:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
  Dim wksName As String, n As Long
  On Error Resume Next
  wksName = Format(Date, "dd.mm.yyyy")
  Do While SheetExist(wksName)
    n = n + 1
    wksName = Format(Date, "dd.mm.yyyy") & "(" & n & ")"
  Loop
  Sh.Name = wksName
End Sub
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom