Xin hỏi cách đổi tên sheet "tự động"? (1 người xem)

Liên hệ QC

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

nqdn2010

Optimal Сasual Dating - Actual Girls
Tham gia
22/2/12
Bài viết
267
Được thích
15
Giới tính
Nam
Nghề nghiệp
Health
Xin các vị chỉ cho tôi cách đổi tên sheet "tự động". Chẳng hạn tôi đánh vào ô B2 của Sheet1 nội dung:"THIẾT KẾ" thì tên Sheet1 cũng đổi thành "THIẾT KẾ"?
Tôi xin cám ơn!
 
thử code này xem

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [b2].Address Then ActiveSheet.Name = [b2]
End Sub
 
Xin các vị chỉ cho tôi cách đổi tên sheet "tự động". Chẳng hạn tôi đánh vào ô B2 của Sheet1 nội dung:"THIẾT KẾ" thì tên Sheet1 cũng đổi thành "THIẾT KẾ"?
Tôi xin cám ơn!

Thêm một cách sử dụng công thức!
Lưu ý: Tải File về lưu vào máy thì cthức mới hiểu!?
 

File đính kèm

Rất cám ơn anh quanghai1969! Tôi đã làm được rồi. Xin cho tôi hỏi thêm, Nếu muốn tất cả các Sheet đều thay đổi tên theo ô chỉ định ở mỗi sheet thì mình làm sao anh!
Cám ơn anh nhiều!
 
Lần chỉnh sửa cuối:
Rất cám ơn anh! Tôi đã làm được rồi. Xin cho tôi hỏi thêm, Nếu muốn tất cả các Sheet đều thay đổi tên theo ô chỉ định ở mỗi sheet thì mình làm sao anh!
Cám ơn anh nhiều!
Thông thường thì mình dùng vòng lặp để làm việc này
 
Rất cám ơn anh quanghai1969! Tôi đã làm được rồi. Xin cho tôi hỏi thêm, Nếu muốn tất cả các Sheet đều thay đổi tên theo ô chỉ định ở mỗi sheet thì mình làm sao anh!
Cám ơn anh nhiều!
Mình không hiểu bạn tải bài nào về mà "làm được" ?
Bạn tải file bài #4 ah?
 
To nqdn2010: Bạn xem file đúng như ý bạn nói không
 

File đính kèm

To nqdn2010: Bạn xem file đúng như ý bạn nói không
Đây là file mình cần đó!. Thanks
Cho mình hỏi thêm Làm sao để dùng Code sang 1 Sheet khác đã có sẵn tên? Có đc ko?
Và Bạn sửa Code để mình có thể di chuyển ô đặt tên Sheet sang 1 ô khác bất kỳ không cố định tại ô A1?
 
To nqdn2010: Bạn xem file đúng như ý bạn nói không
Code chỉ vầy là được rồi Viethoai à:
Mã:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  On Error Resume Next
  If Target.Address = [COLOR=#ff0000][B]"$A$1"[/B][/COLOR] Then Sh.Name = Target.Value
End Sub
Đối số Sh trong sự kiện Workbook_SheetChange chính là ActiveSheet đấy
------------------
Đây là file mình cần đó!. Thanks
Cho mình hỏi thêm Làm sao để dùng Code sang 1 Sheet khác đã có sẵn tên? Có đc ko?
Và Bạn sửa Code để mình có thể di chuyển ô đặt tên Sheet sang 1 ô khác bất kỳ không cố định tại ô A1?
Có để ý chổ màu đỏ trong code trên không? Muốn thay thành ô nào thì sửa chố đó đi
 
Cho mình hỏi thêm Làm sao để dùng Code sang 1 Sheet khác đã có sẵn tên? Có đc ko?
 
Xin mọi người cho mình hỏi! Làm cách nào khi giấu 1 sheet khi nhấn nút lệnh thi sheet đó hiện ra, nhưng khi đóng sheet đó lại thị tự động sheet đó bị giấu như trước.
 
Xin mọi người cho mình hỏi! Làm cách nào khi giấu 1 sheet khi nhấn nút lệnh thi sheet đó hiện ra, nhưng khi đóng sheet đó lại thị tự động sheet đó bị giấu như trước.
Dùng thuộc tính Visible của sheet để cho hiện hoặc ẩn.Ví dụ, khi chuyển sang sheet khác thì sheet sẽ bị ẩn đi, dùng code sau:

Private Sub Worksheet_Deactivate()
Me.Visible = xlSheetHidden
End Sub
 
Xin mọi người cho mình hỏi! Làm cách nào khi giấu 1 sheet khi nhấn nút lệnh thi sheet đó hiện ra, nhưng khi đóng sheet đó lại thị tự động sheet đó bị giấu như trước.
Điều này thì đơn giản, nhưng không có file thì làm biếng suy nghĩ lắm
Dùng sự kiên Worksheet_Deactivate để ẩn sheet khi thoát ra khỏi sheet đó
Muốn hiện lại sheet nào đó thì viết code: "tên_sheet".visible=true
 
Các bác xem giúp cho em thêm điều kiện ở bài#14 với?
Thanks
 
Nghĩa là em muốn dùng Code này để đổi tên cho 1 Sheet ở 1 Work book khác đó có được không đó?
Ví dụ em muốn thay đổi tên Sheet "De nghi" Thành "Tên khác" trong file "Dot 24"
Và em muốn biết cách làm để có thể đổi tên cho các Sheet trong file đó nữa
 

File đính kèm

Nghĩa là em muốn dùng Code này để đổi tên cho 1 Sheet ở 1 Work book khác đó có được không đó?
Ví dụ em muốn thay đổi tên Sheet "De nghi" Thành "Tên khác" trong file "Dot 24"
Và em muốn biết cách làm để có thể đổi tên cho các Sheet trong file đó nữa
Đã thay đổi cho bạn rồi đó!
 

File đính kèm

Nghĩa là em muốn dùng Code này để đổi tên cho 1 Sheet ở 1 Work book khác đó có được không đó?
Ví dụ em muốn thay đổi tên Sheet "De nghi" Thành "Tên khác" trong file "Dot 24"
Và em muốn biết cách làm để có thể đổi tên cho các Sheet trong file đó nữa

Cơ bản về cách đổi tên sheet thì đã có rồi, muốn đổi tên cho sheet nào của file nào thì chỉ đường dẫn cho code biết thì code sẽ đổi tên theo ý của mình thôi.
 
Cơ bản về cách đổi tên sheet thì đã có rồi, muốn đổi tên cho sheet nào của file nào thì chỉ đường dẫn cho code biết thì code sẽ đổi tên theo ý của mình thôi.
"chỉ đường dẫn cho code" là làm như thế nào vậy a quanghai. A chỉ cho e nhé?
Thanks
 
Dùng thuộc tính Visible của sheet để cho hiện hoặc ẩn.Ví dụ, khi chuyển sang sheet khác thì sheet sẽ bị ẩn đi, dùng code sau:

Private Sub Worksheet_Deactivate()
Me.Visible = xlSheetHidden
End Sub
Cám ơn bạn! Lại làm phiền mọi người, hãy giúp tôi giải quyết vấn đề sau:Bạn tạo UserForm1 (Có tập tin đính kèm) trong đó Label1 thể hiện số sheet bạn đang mở, Label là số sheet sao khi bạn khởi tạo.
TextBox1 là số sheet nằm trong giới hạn bạn quy định được khởi tạo (Chẳng hạn bạn quy định số sheet khởi tạo được là 10 nếu điền vào TextBox1 vượt quá 10 thì không khởi tạo được. Lưu ý Sheet được khởi tạo mới giống hoàn toàn sheet đã mặc định ban đầu là sheet3 kể cả công thức.
Cám ơn mọi người!
(Xin lỗi Tôi không biết cách gởi tập tin đính kèm)
 
Ý mình muốn biết cách làm thế nào để đổi tên cho các Sheet khác trong nhiều file khác đó?
Mình muốn áp dung code bài #11 cho nhiều file khác mà

Híc thì đang áp dụng Bài #11 đó, mở File bài #22 của tôi gởi lên và bài #11, bấm Alt+F11, vào ThisWorkbook xem code có giống không?
 
Cám ơn bạn! Lại làm phiền mọi người, hãy giúp tôi giải quyết vấn đề sau:Bạn tạo UserForm1 (Có tập tin đính kèm) trong đó Label1 thể hiện số sheet bạn đang mở, Label là số sheet sao khi bạn khởi tạo.
TextBox1 là số sheet nằm trong giới hạn bạn quy định được khởi tạo (Chẳng hạn bạn quy định số sheet khởi tạo được là 10 nếu điền vào TextBox1 vượt quá 10 thì không khởi tạo được. Lưu ý Sheet được khởi tạo mới giống hoàn toàn sheet đã mặc định ban đầu là sheet3 kể cả công thức.
Cám ơn mọi người!
 

File đính kèm

"chỉ đường dẫn cho code" là làm như thế nào vậy a quanghai. A chỉ cho e nhé?
Thanks
Mình thỉnh thoảng dùng code này để lấy tên sheets và đổi tên sheets, bạn nghiên cứu nha
PHP:
Sub Lay_Ten_Sheet()
For i = 1 To Worksheets.Count
    Cells(i, 1) = Sheets(i).Name
Next
End Sub
PHP:
Sub Doi_Ten_Sheet()
For i = 1 To Worksheets.Count
    shname = Cells(i, 1).Value
    Sheets(shname).Name = Cells(i, 2).Value
Next
End Sub
 
Híc thì đang áp dụng Bài #11 đó, mở File bài #22 của tôi gởi lên và bài #11, bấm Alt+F11, vào ThisWorkbook xem code có giống không?
Mình tìm ra ô thay đổi tên Sheet rồi. Ở ô P1 phải không bạn?
Mình có thể copy Code này sang các file khác và chạy Code được không?
 
Mình tìm ra ô thay đổi tên Sheet rồi. Ở ô P1 phải không bạn?

Không phải cell P1 mà là $A$1, xem cái này
PHP:
If Target.Address = "$A$1" Then

Mình có thể copy Code này sang các file khác và chạy Code được không?
Tùy trường hợp, có những code mà có thể hiện tên Sheet rõ ràng thì fải sửa tên lại. Riêng trường hợp này thì copy được!
 
Không phải cell P1 mà là $A$1, xem cái này
PHP:
If Target.Address = "$A$1" Then


Tùy trường hợp, có những code mà có thể hiện tên Sheet rõ ràng thì fải sửa tên lại. Riêng trường hợp này thì copy được!
Mình sửa Code ô A1 thành P1 mà. Hiiii
Mình vừa thử Copy sang file khác mà không thấy ra Kết quả?
 
HongVan ơi
Bạn chỉ cho mình từng bước copy Code sang file khác để mình làm lại xem có chạy đc không?
Thanks
 
Cám ơn bạn! Lại làm phiền mọi người, hãy giúp tôi giải quyết vấn đề sau:Bạn tạo UserForm1 (Có tập tin đính kèm) trong đó Label1 thể hiện số sheet bạn đang mở, Label là số sheet sao khi bạn khởi tạo.
TextBox1 là số sheet nằm trong giới hạn bạn quy định được khởi tạo (Chẳng hạn bạn quy định số sheet khởi tạo được là 10 nếu điền vào TextBox1 vượt quá 10 thì không khởi tạo được. Lưu ý Sheet được khởi tạo mới giống hoàn toàn sheet đã mặc định ban đầu là sheet3 kể cả công thức.
Cám ơn mọi người!

Cũng chẳng biết đúng không, làm đại như vậy có gì thì bạn tự sửa nghen
 

File đính kèm

Cũng chẳng biết đúng không, làm đại như vậy có gì thì bạn tự sửa nghen
Quá tuyệt, thật như ý! Cám ơn anh thật nhiều!
Vấn đề em đặt ra theo em là rất khó, Vậy mà anh vẫn giải được. Em rất là khâm phục. Cám ơn sư phụ thật nhiều.
Thật không phí thời gian em "me" từ tối hôm qua tới giờ ! Một lần nữa cám ơn anh!
Có một vấn đề nhỏ, "Nó" khởi tạo sheet "vô tư", không có giới hạn, Xin sư phụ chỉ giáo nhé!
 
Lần chỉnh sửa cuối:
Bạn xem lại file này
 

File đính kèm

Lần chỉnh sửa cuối:
Quá như ý ! thật là hay!
Cám ơn anh nhiệt tình chỉ dạy em !
Làm phiền anh nữa nhé!
Em tạo Code sau:
"Private Sub TextBox6_Change()
Application.AutoRecover.Time = TextBox6.Value
End Sub
"
Để định thời gian lưu. Nhưng nó không hoạt động, vậy sai chỗ nào hả anh!
 
Lần chỉnh sửa cuối:
Bạn muốn định thời gian để làm gì mình không hiểu.
 
Thưa anh, là khi điền số 5 vào TextBox6, thì sau 5 phút hệ thống tự động lưu. Thể hiện thông báo trước khi lưu.
Cái này mình thấy trong hướng dẫn của VBA nhưng chưa sử dụng nên không có nghiên cứu >> không biết cách xài luôn
 
Cái này mình thấy trong hướng dẫn của VBA nhưng chưa sử dụng nên không có nghiên cứu >> không biết cách xài luôn
Cám ơn anh đã quan tâm. Để em sưu tầm tiếp có gì trao đổi tiếp với anh!
Xin anh chỉ tiếp nhé, Em muốn tạo kết hợp dữ liệu cả hai ô A1 và B1 cùng 1 sheet làm tên sheet. VD:Ô A1= "Toán"; Ô B1= "6" => Tên Sheet là "Toán 6".
 
Lần chỉnh sửa cuối:
Thì vầy nè
ActiveSheet.Name = [a1] & " " & [b1]
 
Các bạn xem giúp cho mình Code này tại sao mà mình không chuyển thành add in được?
Mình muốn dùng add in này để thay đổi tên Sheet 1 cách tự động. Cho tất cả các Sheet của các file. Ý mình là vậy
Mình chỉ có thể thay đổi tên Sheet tại file mình gửi lên thôi. Chứ không copy Code sang 1 file khác đc. Mong các bạn chỉ cho mình cách để Code này chạy trên bất kỳ file excel nao?
Thanks
 

File đính kèm

Chào các bậc tiền bối!

Tôi theo dõi chủ đề này từ đầu, vì tôi cũng đang gặp vấn đề về việc thay đổi tên sheet tự động, nay tôi nêu vấn đề lên đây rất mong các bậc tiền bối giúp đỡ.

- Tôi muốn tên của sheet là giá trị của một cell (ví dụ A1).
- Cell A1 của các sheet là một hàm, giá trị cell A1 của mỗi sheet có link đến một cell cố định của sheet đầu tiên (sheet tên index).
- Tôi muốn Khi các cell ở sheet index thay đổi (các cell này có điều kiện - có thay đổi - tất nhiên các cell A1 của các sheet còn lại thay đổi) thì tên tất cả các sheet còn lại thay đổi theo.

Tôi nhận thấy tất cả các code trên diễn đàn khi thay đổi trực tiếp A1 từ bàn phím thì tên sheet thay đổi theo (cái này chuẩn). Nhưng khi A1 có hàm thì tên sheet không còn tự động được nữa (đặc biệt khi các hàm bắc cầu nhiều lần thì tên sheet im luôn).

Rất mong các bậc tiền bối lý giải, giải quyết giúp tôi (vì tôi mới đang mon mem vào VBA).

Tôi xin cảm ơn!
 
Thông thường thì mình dùng vòng lặp để làm việc này
Anh quanghai1969 là sư phụ của mình đó. ngoài cách của anh ấy, Bạn có thể tham khảo thêm, cái này rất hay, mình học được của sp trên gpe đó, giúp đổi tên sheet hàng loạt và tách sheet.
 

File đính kèm

Các bậc tiền bối giúp tôi với, tôi loay hoay mãi mà chưa giải quyết được vấn đề này.

Nếu làm thành dạng add-in thì hay hơn, bởi như vậy khi bật file lên là các lập trình của mình được thực thi.

Xin cảm ơn rất nhiều!
 
Các anh chị giúp em với ạ /-*+/
Em có 200 sheet tập hợp tăng ca cho người lao động
Em muốn đổi tên sheet theo thứ tự từ 1 đến 200, và đánh số từ 1-200 ở ô A1.
Em đổi code và group các sheet lại nhưng chỉ có 1 sheet hiểu.
Em dùng code này để đổi tên sheet theo ô A1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [a1].Address Then ActiveSheet.Name = [a1]
End Sub
Anh chị nào biết chỉ em với ạ, em cảm ơn nhiều -\\/.
 
Các anh chị giúp em với ạ /-*+/
Em có 200 sheet tập hợp tăng ca cho người lao động
Em muốn đổi tên sheet theo thứ tự từ 1 đến 200, và đánh số từ 1-200 ở ô A1.
Em đổi code và group các sheet lại nhưng chỉ có 1 sheet hiểu.
Em dùng code này để đổi tên sheet theo ô A1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [a1].Address Then ActiveSheet.Name = [a1]
End Sub
Anh chị nào biết chỉ em với ạ, em cảm ơn nhiều -\\/.

Vấn đề nằm ở đây nè:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub
 
Làm sao để tên sheet sẽ đổi theo tên ở những ô màu vàng đổi theo. Nhờ các bạn giúp cho .Cảm ơn nhiều

Mình gửi file đính kèm
 
Làm sao để tên sheet sẽ đổi theo tên ở những ô màu vàng đổi theo. Nhờ các bạn giúp cho .Cảm ơn nhiều

Mình gửi file đính kèm
 
Bạn paste code sau vào thisworkbook
Mã:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$C$2" Then
    ActiveSheet.Name = Target.Value
End If
End Sub


Mình làm nhưng ko dc bạn ạ . Bạn xem lại giúp với .

P/S mình muốn tên sheet sẽ tự đổi theo những ô màu vàng của Sheet " TH " nhé !
 
Lần chỉnh sửa cuối:
nhưng như vậy mỗi lần thêm 1 dữ liệu mới vao sheet ( thêm ngay "10-01" vào chẳng hạn) thì lại phải sửa thêm code.
Có cách nào tối ưu hơn ko bạn ? Để mỗi lần thêm những dòng dữ liệu mới thì nó sẽ tự động đổi theo ( VD : như đổi theo màu chẳng hạn)

Cả nhà xem giúp nhé 1
 
nhưng như vậy mỗi lần thêm 1 dữ liệu mới vao sheet ( thêm ngay "10-01" vào chẳng hạn) thì lại phải sửa thêm code.
Có cách nào tối ưu hơn ko bạn ? Để mỗi lần thêm những dòng dữ liệu mới thì nó sẽ tự động đổi theo ( VD : như đổi theo màu chẳng hạn)

Cả nhà xem giúp nhé 1

Cột C sheet TH có dạng "??-??" là tên sheet nhé.
PHP:
Public Sub GPE()
Dim sArr(), dArr(1 To 100, 1 To 1), Ws As Worksheet, I As Long, K As Long, eRws As Long
With Sheets("TH")
    eRws = .Range("C65536").End(xlUp).Row
    sArr = .Range("C1:C" & eRws).Value
    For I = 1 To eRws
        If Mid(sArr(I, 1), 3, 1) = "-" Then
            K = K + 1
            dArr(K, 1) = sArr(I, 1)
        End If
    Next I
End With
K = 0
    For Each Ws In ThisWorkbook.Worksheets
        If Ws.Name <> "TH" Then
            K = K + 1
            Ws.Name = dArr(K, 1)
        End If
    Next Ws
End Sub
 
Lần chỉnh sửa cuối:
Cột C sheet TH có dạng "??-??" là tên sheet nhé.
PHP:
Public Sub GPE()
Dim sArr(), dArr(1 To 100, 1 To 1), Ws As Worksheet, I As Long, K As Long, eRws As Long
With Sheets("TH")
    eRws = .Range("C65536").End(xlUp).Row
    sArr = .Range("C1:C" & eRws).Value
    For I = 1 To eRws
        If Mid(sArr(I, 1), 3, 1) = "-" Then
            K = K + 1
            dArr(K, 1) = sArr(I, 1)
        End If
    Next I
End With
K = 0
    For Each Ws In ThisWorkbook.Worksheets
        If Ws.Name <> "TH" Then
            K = K + 1
            Ws.Name = dArr(K, 1)
        End If
    Next Ws
End Sub


==> Mình làm ko ra, bạn có thể hường dẫn mình cụ thể chút dc ko?


Đây là file của mình ! http://www.mediafire.com/download/08...zd/DM-0104.xls


-> Mình muốn những ô màu vàng trong sheet " TH " sẽ đổi tên theo tên sheet ngày : 07-01, 05-01...VV

và khi mình thêm 1 sheet mới là ngày 10-01 chẳng hạn thì nó cũng tự ông update , khi mình đổi tên sheet ngày thì nó đổi theo

. Bạn hiểu ý mình không? Xem lại giúp minh với nhé !
 
==> Mình làm ko ra, bạn có thể hường dẫn mình cụ thể chút dc ko?


Đây là file của mình ! http://www.mediafire.com/download/08...zd/DM-0104.xls


-> Mình muốn những ô màu vàng trong sheet " TH " sẽ đổi tên theo tên sheet ngày : 07-01, 05-01...VV

và khi mình thêm 1 sheet mới là ngày 10-01 chẳng hạn thì nó cũng tự ông update , khi mình đổi tên sheet ngày thì nó đổi theo

. Bạn hiểu ý mình không? Xem lại giúp minh với nhé !

Hiểu chết liền!
Ở trên, bài #63 bạn muốn tên các sheet đổi theo các ô màu vàng cột C sheet "TH", phải vậy không?
Bây giờ thì ngược lại, thay đổi các ô màu vàng trong cột C sheet "TH" theo các tên sheet có sẵn, phải vậy không?
Mà tại sao chỉ thay đổi các ô màu vàng (tên sheet) trên cột C, nôi dung trong các sheet thay đổi, nội dung trong sheet "TH" vẫn "y chang" thì thay đổi các ô màu vàng làm gì?
 
Hiểu chết liền!
Ở trên, bài #63 bạn muốn tên các sheet đổi theo các ô màu vàng cột C sheet "TH", phải vậy không?
Bây giờ thì ngược lại, thay đổi các ô màu vàng trong cột C sheet "TH" theo các tên sheet có sẵn, phải vậy không?
Mà tại sao chỉ thay đổi các ô màu vàng (tên sheet) trên cột C, nôi dung trong các sheet thay đổi, nội dung trong sheet "TH" vẫn "y chang" thì thay đổi các ô màu vàng làm gì?

1. "" muốn tên các sheet đổi theo các ô màu vàng cột C sheet "TH""" Và Ngược lại ->đúng như vậy đó bạn
 
file này chỉ đổi được lần đầu tiên thôi à bác, e đang muốn ví dụ ( 3 sheet từ ngày 15.11-17.11, sang tháng 12 e bấm 15.12 là nó tự đổi sang 15.12, hiện tại thì bấm nó vẫn giữ nguyên 15.11
Chủ đề này quá cũ rồi (7 năm), có thể 1 số member đã quy ẩn.
Bạn nên mở chủ đề mới, post file của bạn thì hiệu quả hơn nhé.
 

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

Back
Top Bottom