Các bạn có cách nào thay đổi tên sheet theo cell của sheet đó và nó tự động cập nhật

Liên hệ QC

thanh12345678

Thành viên mới
Tham gia
4/3/10
Bài viết
38
Được thích
0
Các bạn cóa cách nào thay đổi tên sheet theo cell của sheet đó và nó tự động cập nhật tên không. mình không muốn khi thay đổi phải nhấn nút Run.
 
Bạn tham khảo trong file ví dụ nha
 

File đính kèm

Sao Sealand phải dùng tới 3 vòng lặp For, mình xóa 1 vòng và gộp 2 vòng kia lại, hiệu quả tương đương. (Theo ý đồ "chỉ làm thí dụ")

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i
With ActiveSheet
   If InStr(1, "$B$2;$B$3;$B$4", Target.Address) > 0 Then
   For i = 1 To ThisWorkbook.Sheets.Count
      If .Cells(i + 1, 2) <> "" Then ThisWorkbook.Sheets(i).Name = .Cells(i + 1, 2)
      .Cells(i + 1, 1) = ThisWorkbook.Sheets(i).Name
   Next
   End If
End With
End Sub
 
Cám ơn Ptm 0412,
Thực ra 3 cái vòng lặp đó nó còn liên quan tới 1 vấn đề nữa, nhưng vì vội nên đành thôi nên nó dang dở thừa thãi như vậy.
1/Thay đổi vị trí của các sheet.
2/Rename sheet theo cách bình thường
 
Bạn làm cho mình luôn vấn đề này nhé: Khi tên trùng nhau thì nó xuất hợp báo lỗi, chứ đừng có nhảy vào màng hình code được không?
 
Bạn sửa Code đi 1 chút:

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i
On Error GoTo Thoat
With ActiveSheet
   If InStr(1, "$B$2;$B$3;$B$4", Target.Address) > 0 Then
   For i = 1 To ThisWorkbook.Sheets.Count
      If .Cells(i + 1, 2) <> "" Then ThisWorkbook.Sheets(i).Name = .Cells(i + 1, 2)
      .Cells(i + 1, 1) = ThisWorkbook.Sheets(i).Name
   Next
   End If
End With
Exit Sub
Thoat:
MsgBox "Ban kiem tra rat co the bi trung ten sheet"
End Sub
 
Web KT

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

Back
Top Bottom