Tìm ô chứa link sang sheets khác trong cùng 1 workbook (5 người xem)

  • Thread starter Thread starter kelacloi
  • Ngày gửi Ngày gửi
Liên hệ QC

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

kelacloi

Thành viên thường trực
Tham gia
6/11/14
Bài viết
334
Được thích
156
Giới tính
Nam
Mình có 1 file excel gồm nhiều sheets. Giờ mình muốn xóa 1 số sheets nhưng không biết là công thức sử dụng trong sheet khác có link sang sheet đó không.
Làm thế nào để biết và chọn được các ô chứa link sang sheets khác trong cùng 1 workbook nhỉ?

Thanks anh em!
 
Mình có 1 file excel gồm nhiều sheets. Giờ mình muốn xóa 1 số sheets nhưng không biết là công thức sử dụng trong sheet khác có link sang sheet đó không.
Làm thế nào để biết và chọn được các ô chứa link sang sheets khác trong cùng 1 workbook nhỉ?

Cảm ơn anh em!
Có nhiều cách để tìm, nhưng bạn không nêu rõ những Cell chứa Link nó dạng số hay Text hoặc có cả 2 loại cùng lúc.
Tốt nhất là xóa bớt dữ liệu và đính kèm File lên đồng thời nêu rỏ muốn thực hiện ở sheet nào?
 
Sheet đấy nhiều dữ liệu quá nên e không dò tay được bác ạ, nên lên đây tìm kiếm sự trợ giúp :D
Nó dạng như một số ô đang vlookup sang sheet khác để lấy dữ liệu sang ấy ạ. E muốn biết ô nào để e paste value ô đấy. Chứ ko thể paste value dữ liệu cả sheet được.
 
Theo mình có thể dùng cách thủ công là dùng công cụ tìm kiếm của excel
Phần tìm kiếm

Find what : nhập tên sheet muốn xóa
phần look in : chọn formulas

sau đó bấm find all

Nếu sheet nào có công thức link đến sheet bạn muốn xóa sẽ hiện ra dưới danh sách đó thôi
 
Có nhiều cách để tìm, nhưng bạn không nêu rõ những Cell chứa Link nó dạng số hay Text hoặc có cả 2 loại cùng lúc.
Tốt nhất là xóa bớt dữ liệu và đính kèm File lên đồng thời nêu rỏ muốn thực hiện ở sheet nào?
bạn cũng là cao thủ trong GPE
nhưng vấn đề này bạn nói như vậy thì e rằng
 
bạn cũng là cao thủ trong GPE
nhưng vấn đề này bạn nói như vậy thì e rằng
Tôi không dám nhận là cao thủ đâu, cái gì thành viên hỏi mình biết thì góp ý hoặc trả lời, khi trả lời thì phải hỏi cho cặn kẻ và chỉ trả lời khi hiểu hết được vấn đề.
 
Mình có 1 file excel gồm nhiều sheets. Giờ mình muốn xóa 1 số sheets nhưng không biết là công thức sử dụng trong sheet khác có link sang sheet đó không.
Làm thế nào để biết và chọn được các ô chứa link sang sheets khác trong cùng 1 workbook nhỉ?

Cảm ơn anh em!
Tôi học được chiêu này tìm các link từ file khác đến sheet của file đang mở.
File đang mở/nhấn Ctrl+H/Find what nhập .xl phần Look in chọn Fomulas/nhấn Find All/kết quả ở dưới.
Bạn thử xem đúng như ý nguyện chưa? :)
 
Lần chỉnh sửa cuối:
Tôi mới học được chiêu này tìm các link từ file khác đến sheet của file đang mở.
File đang mở/nhấn Ctrl+H/Find what nhập .xl phần Look in chọn Fomulas/nhấn Find All/kết quả ở dưới.
Bạn thử xem đúng như ý nguyện chưa? :)
Chuẩn quá. thế còn tìm link các sheet trong 1 file như nào bạn nhỉ?
 
Thanks ae, dựa vào gợi ý của anh em, mình tìm "!" và có kết quả rồi.
 
Chắc phải code
-----------------
PHP:
Public WS_FormulaLinkSheet$, TFormulaLinkSheet As Date
Sub FindFormulaLinkSheet()
  Call ClearFMC_FormulaLinkSheet
  Dim WS As Worksheet, R, tmp$, Rng As Range, tRng As Range, i As Boolean
  Dim RegExp As Object
  Set RegExp = CreateObject("VbScript.RegExp")
  Set WS = ActiveSheet
  On Error Resume Next
  Set Rng = WS.Cells.SpecialCells(xlCellTypeFormulas)
  If Rng Is Nothing Then Exit Sub
  For Each R In Rng
    tmp = R.Formula: GoSub Test
    If i Then
      If tRng Is Nothing Then
        Set tRng = R
      Else
        Set tRng = Union(R, tRng)
      End If
    End If
  Next
  If Not tRng Is Nothing Then
    With tRng
      .FormatConditions.Add _
          Type:=xlExpression, _
          Formula1:="=True"
      With .FormatConditions(.FormatConditions.Count)
        .SetFirstPriority
        With .Interior
          .Color = vbYellow
        End With
        .StopIfTrue = True
        .Font.Color = vbBlack
      End With
    End With
  End If
  Set RegExp = Nothing
  WS_FormulaLinkSheet = WS.Name
  TFormulaLinkSheet = Now + TimeSerial(0, 0, 15)
  Application.OnTime TFormulaLinkSheet, "ClearFMC_FormulaLinkSheet", , True
  ActiveWindow.DisplayFormulas = True 'Bam Ctrl + ` de tro lai'
  Exit Sub
Test:
  i = False
  With RegExp
      .Global = True
      .IgnoreCase = True
      .Pattern = "(\[.{2,200}\])?\'?.{2,200}\'?\!{1}\$?\w{1,3}\$?\d{1,7}(\:\$?\w{1,3}\$?\d{1,7})?"
      i = .Test(tmp)
  End With
Return
End Sub
Sub ClearFMC_FormulaLinkSheet()
  ActiveWindow.DisplayFormulas = False
  Dim WS As Worksheet, R, tmp$, Rng As Range, tRng As Range, i As Boolean
  On Error Resume Next
  Application.OnTime TFormulaLinkSheet, "ClearFMC_FormulaLinkSheet", , False
  Set WS = ThisWorkbook.Worksheets(WS_FormulaLinkSheet)
  If WS Is Nothing Then Set WS = ActiveSheet
  Set Rng = WS.Cells.SpecialCells(xlCellTypeAllFormatConditions)
  If Rng Is Nothing Then Exit Sub
  For Each R In Rng.FormatConditions
    If R.Formula = "=True" Then R.Delete
  Next
  WS_FormulaLinkSheet = ""
End Sub
 
Lần chỉnh sửa cuối:
Cảm ơn
HeSanbi
Nếu là code tìm link tô màu như này (Tôi nhớ không nhầm thì trên diễn đàn này cũng đã có vài bài rồi)
Vậy bạn tìm cách xử lý là hiện các thông số của các ô link kết giúp anh em nhé.
Tôi thiết nghĩ điều này cũng rất cần thiết với rất nhiều người.
 
Cảm ơn
HeSanbi
Nếu là code tìm link tô màu như này (Tôi nhớ không nhầm thì trên diễn đàn này cũng đã có vài bài rồi)
Vậy bạn tìm cách xử lý là hiện các thông số của các ô link kết giúp anh em nhé.
Tôi thiết nghĩ điều này cũng rất cần thiết với rất nhiều người.
Chạy code trên Xong Bác bấm Ctrl + ` để xem chứ không có thông số gì khác.
 
Chạy code trên Xong Bác bấm Ctrl + ` để xem chứ không có thông số gì khác.
Xin chào HeSanbi,
Cảm ơn bạn đã chia sẻ.
OT cũng quan tâm đến vấn đề này, bạn cho hỏi nếu link nằm trong công thức Datavalidation hoặc name thì có xử lý được không bạn.
Xin lỗi, OT sử dụng điện thoại ntin nên chưa thử được.
 
Xin chào HeSanbi,
Cảm ơn bạn đã chia sẻ.
OT cũng quan tâm đến vấn đề này, bạn cho hỏi nếu link nằm trong công thức Datavalidation hoặc name thì có xử lý được không bạn.
Xin lỗi, OT sử dụng điện thoại ntin nên chưa thử được.
Duyệt qua DataValidation
--------------------------
PHP:
  Dim Cell As Range
  Dim S$
  'If ThisWorkbook.ActiveSheet.UsedRange.Cells.Count > 100000 Then Exit Sub
  For Each Cell In ThisWorkbook.ActiveSheet.UsedRange
    On Error Resume Next
    S = "": S = Cell.Validation.Formula1
    On Error GoTo 0
    If S <> "" Then
      Debug.Print Cell.Address
      Debug.Print Cell.Validation.Formula1
    End If
  Next
---------------------------
Duyệt qua Name
---------------------------
PHP:
  Dim Cell As Name
  Dim S$
  For Each Cell In ThisWorkbook.Names
    On Error Resume Next
    Debug.Print Cell.RefersTo
    Debug.Print Cell.NameLocal
    On Error GoTo 0
  Next
 
Lần chỉnh sửa cuối:
Vấn đề là tìm để làm gì. Như nhu cầu của chủ topic thì có thể Break link. Nếu link đến sheet khác cùng workbook thì Move các sheet muốn xóa ra workbook mới rồi Break link.
 
Vấn đề là tìm để làm gì. Như nhu cầu của chủ topic thì có thể Break link. Nếu link đến sheet khác cùng workbook thì Move các sheet muốn xóa ra workbook mới rồi Break link.
Anh huuthang_bd ơi hình như nếu link liên kết đến file ngoài mà nằm trong name hoặc Datavalition thì không thể Break link được anh ạ
 
Web KT

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

Back
Top Bottom