Sub vidu()
Dim ws As Worksheet
On Error Resume Next ''Tên sheet không chứa các ký tự đặc biêt: ?/\* và không trùng tên nhau
For Each ws In ThisWorkbook.Worksheets
If Len(ws.Range("A1").Value) > 0 Then
ws.Name = ws.Range("A1").Value
End If
Next ws
End Sub
Cứ kêu vài trăm để tăng mức độ "..." lên?
PHP:Sub vidu() Dim ws As Worksheet On Error Resume Next ''Tên sheet không chứa các ký tự đặc biêt: ?/\* và không trùng tên nhau For Each ws In ThisWorkbook.Worksheets If Len(ws.Range("A1").Value) > 0 Then ws.Name = ws.Range("A1").Value End If Next ws End Sub
Cứ kêu vài trăm để tăng mức độ "..." lên?
PHP:Sub vidu() Dim ws As Worksheet On Error Resume Next ''Tên sheet không chứa các ký tự đặc biêt: ?/\* và không trùng tên nhau For Each ws In ThisWorkbook.Worksheets If Len(ws.Range("A1").Value) > 0 Then ws.Name = ws.Range("A1").Value End If Next ws End Sub
Có trường hợp thế này sẽ phá vỡ "thế trận":Cứ kêu vài trăm để tăng mức độ "..." lên?
PHP:Sub vidu() Dim ws As Worksheet On Error Resume Next ''Tên sheet không chứa các ký tự đặc biêt: ?/\* và không trùng tên nhau For Each ws In ThisWorkbook.Worksheets If Len(ws.Range("A1").Value) > 0 Then ws.Name = ws.Range("A1").Value End If Next ws End Sub
Ủa, gì đó anh?Có trường hợp thế này sẽ phá vỡ "thế trận":
- Ta đang có 20 sheet
- Cell A1 các sheet có giá trị lần lượt là: T01, T02... đến T20
- Xui xẻo, sheet ở index thứ 2 đang có tên T01, sheet ở index thứ 3 đang có tên T02.... vân... vân... đại khái thế!
Vậy ngay từ đầu chạy code đã bị trùng tên
Trường hợp này tính sao?
Cái vụ đổi tên sheet thấy dễ nhưng cũng không phải dễ
Tôi cũng chỉ nói theo những gì tôi biết.Ủa, gì đó anh?
Em có dòng thứ 2 trong sub để lường tới những cái anh nói đó.
"On Error Resume Next ''Tên sheet không chứa các ký tự đặc biêt: ?/\* và không trùng tên nhau"
Gán cái tên mới có một dòng nhưng bẫy lỗi thì cần nhiều dòng...
Chủ thớt hay ai đó muốn không muốn "vỡ" thì tự làm tiếp thôi, em bận rồi.
Hiện em có 1 vấn đề vẫn liên quan đến gán tên sheet. Mong được các bác GPE giúp đỡ. Bác @ndu96081631 và mọi người chỉ giúp em với ạ.Có trường hợp thế này sẽ phá vỡ "thế trận":
- Ta đang có 20 sheet
- Cell A1 các sheet có giá trị lần lượt là: T01, T02... đến T20
- Xui xẻo, sheet ở index thứ 2 đang có tên T01, sheet ở index thứ 3 đang có tên T02.... vân... vân... đại khái thế!
Vậy ngay từ đầu chạy code đã bị trùng tên
Trường hợp này tính sao?
Cái vụ đổi tên sheet thấy dễ nhưng cũng không phải dễ
Theo tôi thì chẳng cần theo dõi vài trăm cái sheet khi mẫu giống nhau làm gì (chỉ có nội dung là khác). Chỉ cần 2 sheet là đủ:Có cách nào đổi tên Sheet hàng loạt = ô A1 trong mỗi Sheet không ạ?
Em có 1 file excel rất nhiều Sheet: Sheet 1, Sheet 2, .... khoảng vài trăm cái có form giống nhau.
A1 dạng chuỗi: AT02D ; CB12T; ...
Theo tôi thì chẳng cần theo dõi vài trăm cái sheet khi mẫu giống nhau làm gì (chỉ có nội dung là khác). Chỉ cần 2 sheet là đủ:
1/ Thiết kế 1 sheet theo dõi.
2/ Làm 1 sheet mẫu (bạn nên đưa 1 cái mẫu lên), dùng sheet này lưu dữ liệu cần vào sheet theo dõi, muốn xem lại nội dung cái gì? (biên bản, giấy mời, tờ trình..v..v...) thì dùng số của nó để truy vấn lại (cũng tại sheet này).
Cũng có thể sheet mẫu đó, khi nhập nội dung xong thì Add sheet mới với tên sheet là nội dung của 1 Cell nào đó?
Cái sheet mẫu bạn không biết giả định à, tên thì ông A, bà B, địa chỉ thì An Giang, Vũng Tàu, Minh Hải. Còn hàng hóa thì xoài, ổi, mận để người ta còn biết vị trí của từng Cell đó nằm chỗ nào?Anh sếp em yêu cầu phải như thế. Em biết làm sao bây giờ ^^. Tài liệu riêng tư lại không được up lên.
- Có nhiều sheet vì là: mỗi nhân viên nộp báo cáo ngày khoảng 20 khách hàng. Các nhân viên không được biết đến số liệu của nhau. Nên không làm 1 sheet tổng hợp rồi cho ae cùng làm luôn được. Công việc em là gop hết các số liệu chính trong các sheet của anh em lại.
Cái sheet mẫu bạn không biết giả định à, tên thì ông A, bà B, địa chỉ thì An Giang, Vũng Tàu, Minh Hải. Còn hàng hóa thì xoài, ổi, mận để người ta còn biết vị trí của từng Cell đó nằm chỗ nào?
Bạn không đọc kỹ bài 9 tôi nêu thế này:
Cũng có thể dùng sheet mẫu đó, khi nhập nội dung vào sheet mẫu xong thì Add sheet mới với tên sheet là nội dung của 1 Cell nào đó?
Nghĩa là cách theo dõi như bài 9 tôi nêu, chỉ khác nội dung bạn nêu bài 1 là dùng 1 sheet mẫu khi in xong thì Add Sheet là có tất cả các sheet, còn nội dung thì lưu vào sheet theo dõi để còn tổng hợp báo cáo.
Tại bạn không hiểu, chứ thực tế bạn có 10 loại mẫu khác nhau cũng làm được và cũng chỉ lưu dữ liệu vào 1 sheet theo dõi.Em hiểu ý bác mà. Làm 1 Sheet mẫu (sheet này cố định, tổng hợp, lấy số liệu bằng cách liên kết tất cả các sheet kia lại)
Nhưng cái form nó không giống nhau hoàn toàn. Yêu cầu tổng hợp mỗi lúc lại khác. Khó làm 1 sheet mẫu lắm bác ạ
Hiện em mới nghĩ ra cách thủ công này:Tại bạn không hiểu, chứ thực tế bạn có 10 loại mẫu khác nhau cũng làm được và cũng chỉ lưu dữ liệu vào 1 sheet theo dõi.
Nói chung, không có liên kết gì cả chỉ cần 1 sheet theo dõi là làm được tất cả các thứ cần. Tôi ví dụ công việc là 1 thửa đất nông nghiệp và sheet theo dõi nó là 1 cái kho (chứa tất cả mọi thứ công cụ), muốn cuốc đất, cắt cỏ, chặt cây ..v..v.....Thì vào kho lấy cái công cụ tương ứng cho phù hợp với công việc đó.
Có cách nào thay đổi tên sheet theo kiểu: T01, T02, T03....E nghĩ mãi rồi không thông bác ạ
Hiện em mới nghĩ ra cách thủ công này:
1/ Tạo cột phụ C:
C1: IFERROR(SUM('T01'!N6:W6);"")
C2: IFERROR(SUM('T01'!N6:W6);"")
..
C20: IFERROR(SUM('T01'!N6:W6);"")
(cột C dạng text, không có dấu "=")
2/ Tạo cột phụ D:
D1: =REPLACE(C1,14,3,A1) -> Trả về kết quả dạng text, không có dấu "=" -> D1: IFERROR(SUM('T01'!N6:W6);"")
D2: =REPLACE(C2,14,3,A1) -> Trả về kết quả dạng text, không có dấu "=" -> D2: IFERROR(SUM('T02'!N6:W6);"")
..
D20: =REPLACE(C3,14,3,A1) -> Trả về kết quả dạng text, không có dấu "=" -> D20: IFERROR(SUM('T20'!N6:W6);"")
3/ Tạo cột phụ E:
- Copy cột D -> Paste value lên cột E
- Ctrl + H: thay đổi "IFERROR" thành "=IFERROR"
Hơi mất công chút ^^!
Có vài cách, bạn thử gửi file lên xem cụ thể ra sao.Có cách nào thay đổi tên sheet theo kiểu: T01, T02, T03....
Sheet Tổng hợp:
- A1: Sum('T01'!A1:B1)
- A2: Sum('T02'!A1:B1)
- A3: Sum('T03'!A1:B1)
Số sheet tăng dần
Bạn mới có sáng kiến mà chưa chịu suy nghĩ đến hậu quả của sáng kiến ấy.Có cách nào thay đổi tên sheet theo kiểu: T01, T02, T03....
Sheet Tổng hợp:
- A1: Sum('T01'!A1:B1)
- A2: Sum('T02'!A1:B1)
- A3: Sum('T03'!A1:B1)
Số sheet tăng dần