Hỏi công thức lấy tên sheet

Liên hệ QC

feelingyes

Thành viên tiêu biểu
Tham gia
24/9/07
Bài viết
459
Được thích
395
Nghề nghiệp
Economic
Em đang ở trong 1 cell của một sheet
Công thức nào để em có thể lấy được tên của sheet đó

Xin cám ơn các bác!
 
Anhtuan1006 đã viết:
Ái chà... Bài toán này sao chẳng thấy ai quan tâm thế nhỉ? Nó ko có ứng dụng thực tế? Hay là nó quá dễ? He...he...

Em cũng đang co việc dùng tới "em" này nhưng chưa nhiều lắm. Bác Tuấn nói vậy có thể kể sơ qua giúp em một số ứng dụng không
-Nếu vậy theo em đặt tên file và tên sheet không hề đơn giản tý nào. Nó cũng đòi hỏi nghệ thuật anh nhỉ?
He he
 
Này nhé! Đầu tiên bạn mở 1 file mới, lưu tên đàng hoàng (chưa lưu thì hàm CELL ko hoạt động)... Tiếp theo tại 1 cell nào đó bạn gõ vào công thức = CELL("filename",A1) xem thử nó ra cái gì?
Trong này vừa có đường dẩn chứa file, vừa có tên file và tên sheet... Nhiệm vụ của bạn là dùng các hàm xử lý chuổi để tách ra cái mình cần...
Còn ứng dụng nó thì thiếu gì... Đây là 1 ứng dụng chẳng hạn:
http://www.giaiphapexcel.com/forum/showthread.php?t=8798
Và tất nhiên bạn sẽ cần đến nó khi dùng đến INDIRECT... Hoặc giã bạn đặt tên file có phần đuôi là chỉ số năm (Chamcong_2007.xls... Chamcong_2008.xls.. vân vân...) vậy thì bạn cũng có thể dùng hàm CELL để lấy ra chỉ số năm này mà cập nhật ngày tháng, khỏi cần gỏ mất công... Nói chung khi ấy chỉ cần đổi tên file thành ....._2007, ..._2008, ..._2009 là ngày tháng lại dc cập nhật mới
ANH TUẤN
 
Lần chỉnh sửa cuối:
Tôi gữi bạn 1 ví dụ nhỏ:
1> Sheet DM là để nhập liệu
2> Sheet A001 dùng để trích Mã nào có tên là A001
Giờ bạn copy toàn bộ sheet A001, paste sang sheet A002 xem thế nào nhé! Đây cũng là 1 ứng dụng việc lấy tên sheet để làm công việc gì đó (ở đây tôi đặt tên sheet trùng với MA với mục đích trích từng MA ra riêng từng sheet)
Công việc thật nhẹ nhàng vì chỉ cần làm công thức 1 sheet, paste sang sheet khác và đổi tên sheet thì dử liệu sẽ dc cập nhật chính xác như yêu cầu!
Bạn nghiên cứu xem!
ANH TUẤN
 

File đính kèm

Anh Tuấn mến

Cám ơn vì sự nhiệt tình của anh, bài gửi #5 em sẽ nghiên cứu và hỏi anh sau

(trích ngang: em vừa xong báo cáo tháng, tốc độ tháng này nhanh khủng khiếp, làm báo cáo trong có 4 tiêng đồng hồ tính từ lúc có đủ số liệu <> trước đó là 8 giờ đồng hồ = một ngày đi làm)
-Tuy biết rằng trình độ Excell của em còn "a,b,c". Nhưng nó cũng đã giúp ích rất nhiều cho công việc hiện tại của em

Tạm thời mong các anh chị cho em hỏi một chút về đoạn code sau với
Private Sub Worksheet_Activate()
Dim wSheet As Worksheet
Dim M As Long
M = 1
With Me
.Columns(1).ClearContents
.Cells(1, 1) = "INDEX"
.Cells(1, 1).Name = "Index"
End With

For Each wSheet In Worksheets
If wSheet.Name <> Me.Name Then
M = M + 1
With wSheet
.Range("H1").Name = "Start" & wSheet.Index
.Hyperlinks.Add Anchor:=.Range("H1"), Address:="", SubAddress:="Index", TextToDisplay:="Back to Index"
End With
Me.Hyperlinks.Add Anchor:=Me.Cells(M, 1), Address:="", SubAddress:="Start" & wSheet.Index, TextToDisplay:=wSheet.Name
End If
Next wSheet
End Sub

Trong đoạn code trên (dùng để tạo mục lục & hyperlink cho file có nhiều sheet)
If wSheet.Name <> Me.Name Then --------> Me là gỉ ?

và đoạn code này
.Range("H1").Name = "Start" & wSheet.Index
.Hyperlinks.Add Anchor:=.Range("H1"), Address:="", SubAddress:="Index", TextToDisplay:="Back to Index"
End With
Me.Hyperlinks.Add Anchor:=Me.Cells(M, 1), Address:="", SubAddress:="Start" & wSheet.Index, TextToDisplay:=wSheet.Name
 
Tôi đoán là "Tôi".. he.. he.. Nôm na là "Nếu sheet nào trong Workbook có tên sheet khác với tên "Tôi" thì.. xử tiếp những đoạn code dưới..." (nghĩa là ko tính sheet hiên hành có chứa INDEX)
Còn mấy đoạn code của chử "Hyperlink" bạn khỏi suy nghĩ chi cho mệt... Bạn record macro quá trình tạo Hyperlink sẽ biết liền!
ANH TUẤN
 
Web KT

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

Back
Top Bottom