Hỏi cách áp dụng cùng một code cho nhiều worksheet (1 người xem)

Liên hệ QC

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

furin.235

Thành viên mới
Tham gia
1/1/16
Bài viết
6
Được thích
1
Chào mọi người,

Việc của mình cần đổi tên nhiều sheet theo một danh sách có sẵn hoặc trùng với tên trong cell của sheet đó. Mình tìm trên diễn đàn làm theo code này thì ok. Nhưng mình muốn copy code này vào nhiều sheet một lúc thì có được không?
Trong một workbooknhiều sheet, mình chỉ muốn lưu 1 sheet thành template mà vào lại thấy lưu cả workbook đó thành template???

Private Sub Worksheet_Deactivate()
On Error GoTo ext
Me.Name = [B5]
ext:
End Sub

Bạn nào biết giúp mình nhé! Mình cảm ơn !/-*+/
 
Tại cell A1 của mỗi Sheet bạn gõ tên mà bạn muốn đặt cho Sheet vào đó ( lưu ý các tên ở các Sheet phải khác nhau)
Sau đó bạn dán Sub này vào ThisWorkbook rồi cho chạy thử nha:
PHP:
Option Explicit
Sub doi_ten()
Dim i As Long
For i = 1 To Worksheets.Count
   Sheets(i).Name = Sheets(i).Range("A1").Value
Next i
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Chào mọi người,

Việc của mình cần đổi tên nhiều sheet theo một danh sách có sẵn hoặc trùng với tên trong cell của sheet đó. Mình tìm trên diễn đàn làm theo code này thì ok. Nhưng mình muốn copy code này vào nhiều sheet một lúc thì có được không?
Trong một workbooknhiều sheet, mình chỉ muốn lưu 1 sheet thành template mà vào lại thấy lưu cả workbook đó thành template???

Private Sub Worksheet_Deactivate()
On Error GoTo ext
Me.Name = [B5]
ext:
End Sub

Bạn nào biết giúp mình nhé! Mình cảm ơn !/-*+/
Thử chép code sau vào Thisworkbook...tên sheet sẽ thay đổi theo A1 khi chuyển sheet
PHP:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error GoTo Hat
If ActiveSheet.Range("A1").Value <> Empty Then
    ActiveSheet.Name = ActiveSheet.Range("A1").Value
Else
    ActiveSheet.Name = Worksheets.Count
End If
Hat:
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Tại cell A1 của mỗi Sheet bạn gõ tên mà bạn muốn đặt cho Sheet vào đó ( lưu ý các tên ở các Sheet phải khác nhau)
Sau đó bạn dán Sub này vào ThisWorkbook rồi cho chạy thử nha:
PHP:
Option Explicit
Sub doi_ten()
Dim i As Long
For i = 1 To Worksheets.Count
   Sheets(i).Name = Sheets(i).Range("A1").Value
Next i
End Sub

không biết lỗi j nhưng mình thử không đổi :(, tên sheet của mình nằm cell B5
 
Upvote 0
Thử chép code sau vào Thisworkbook...tên sheet sẽ thay đổi theo A1 khi chuyển sheet
PHP:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error GoTo Hat
If ActiveSheet.Range("A1").Value <> Empty Then
    ActiveSheet.Name = ActiveSheet.Range("A1").Value
Else
    ActiveSheet.Name = Worksheets.Count
End If
Hat:
End Sub

Thank bạn nhé :-=, mình đổi được rồi, à ban đầu mình chỉ nhấn sang sheet khác là sheet trước đó đổi tên luôn, nhưng code của bạn phải back lại sheet đó mới đổi được?
 
Upvote 0
Thank bạn nhé :-=, mình đổi được rồi, à ban đầu mình chỉ nhấn sang sheet khác là sheet trước đó đổi tên luôn, nhưng code của bạn phải back lại sheet đó mới đổi được?
thay dòng trên cùng thành dòng sau..........nó qua lại có mấy kiểu đó nếu ko thích đổi kiểu chơi vậy nha

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
 
Upvote 0
Web KT

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

Back
Top Bottom