Trao đổi với tôi

http://www.buidao.com

8/21/22

[Excel] Hướng dẫn xóa external links trong Excel

 

Đôi khi trong quá trình sử dụng Excel, chúng ta thường nhận được thông báo có liên kết đến nội dung bên ngoài (external links). Thông thường, chúng ta có thể tùy chọn để cập nhật lại nội dung hoặc xóa bỏ các liên kết này. Tuy nhiên, đôi khi vì lý do nào đó mà việc xóa bỏ các liên kết này (break links) không thể thực hiện được. Bài viết hôm nay mình sẽ chia sẽ một số thủ thuật excel giúp các bạn xóa external link trong Excel.

Các external link chứa trong các cell của Excel có thể dễ dàng loại bỏ bằng thao tác:

Trong tab Data > Edit Links. Trong hộp thoại Edit Links hiện lên, các bạn chọn link cần xóa và nhấn vào nút Break Link. Một hộp thoại hiện ra, bạn nhấn tiếp vào nút Break Links để xác nhận.

Break excel external link in Cell

Để nhanh chóng xác định vị trí các Cell chứa external link, các bạn có thể sử dụng tính năng Find and Replace bằng tổ hợp phím Ctrl + F. Sau đó ở ô Find what nhập: [*] để xác định vị trí các Cell.

Find and Replace Excel

Tuy nhiên đôi khi dữ liệu của bạn được chèn ở nhiều nơi, external link không chỉ nằm trong Cell. Vậy nên sau khi thực hiện, các bạn vẫn thấy liên kết chưa bị loại bỏ. Hãy thử tiếp các phương pháp bên dưới.

External Links có thể tồn tại dưới dạng nội dung bên trong các textbox của Chart. Gồm các vị trí sau:

  • Data Labels
  • Axis Labels
  • Chart Title

Các bạn nên kiểm tra dữ liệu tại những vị trí này.

Nếu trong Excel của bạn sử dụng Shape có chứa nội dung textbox. External link có thể nằm trong mục Formula bar.

Break excel external link in Shape

Nếu nội dung có sử dụng nhiều đối tượng Shape, các bạn có thể dùng mẹo sau đây để kiểm tra nhanh:

  1. Nhấn F5 để mở hộp thoại Go To.
  2. Nhấn vào nút Special
  3. Tích chọn vào mục Objects
  4. Nhấn OK

Lúc này chúng ta sẽ chọn toàn bộ đối tượng Shape trong bảng tính. Các bạn nhấn nút Tab để chuyển qua các đối tượng Shape khác nhau. Chú ý nội dung ở ô Formula Bar để kiểm tra external link.

Các bạn chuyển qua tab Formulas > Name Manager. Kiểm tra giá trị ổ cột Refers To trong hộp thoại hiện lên.

Break excel external link in Name Manager

Để kiểm tra dữ liệu trong Pivot Tables, các bạn làm theo các bước hướng dẫn bên dưới:

  1. Click chọn một ô trong Pivot Table.
  2. Chuyển đến PivotTable Tools Analyze Tab.
  3. Click vào nút Change Data Source.
  4. Trong hộp thoại hiện lên, bạn kiểm tra giá trị trong mục Table/Range
Break excel external link in Pivot Table

Các liên kết ngoài cũng có thể chứa trong Data Validation rule trong Excel. Bạn có thể kiểm tra các quy tắc này trong từng worksheet. Tuy nhiên, nếu bạn có nhiều sheet thì hãy làm tận dụng thủ thuật sau để nhanh chóng định vị các external link này.

Sử dụng công cụ The Compatibility Checker để tìm các lỗi Data Validation:

  1. Click vào tab File. Sau đó click vào ô Check Issues, trong menu đổ xuống chọn Check Compatibility.
  2. Trong hộp thoại hiện lên, các bạn nhấn vào nút Copy to New Sheet.
  3. Một sheet mới được tạo ra liệt các vấn đề tương thích. Các bạn có thể duyệt tìm các external link với cú pháp tìm kiếm: data validation
  4. Nếu có vấn đề với external link hoặc lỗi tương thích với data validation, bạn sẽ thấy có liên kết nhảy đến vị trí của lỗi. Từ đó giúp bạn dễ dàng định vị và xử lý vấn đề.
Break excel external link in Data validation rule

Thực hiện các phương pháp ở trên, việc tìm kiếm và loại bỏ external link gây tốn thời gian thì các bạn có thể sử dụng add-Ins Find Link để tự động tìm và xóa các liên kết. Các bạn có thể tải về phiên bản FindLink 12.1.

Cài đặt Add-Ins

Sau khi tải về Add-Ins, các bạn tiến hành cài đặt như hướng dẫn bên dưới:

Cài đặt Add-Ins FindLink excel:

Giải nén tệp tải về

Tiến hành giải nén tệp findlink.zip cho kết quả tệp: findlink.xlam

Mở option Excel

Để tiến hành thêm Add-Ins vào Excel, các bạn vào tab File > Option. Trong tab Add-Ins, mục Manage chọn Excel Add-ins rồi nhấn Go.

Thêm Add-ins vào Excel

Trong cửa sổ Add-ins mở ra, các bạn nhấn nút Browse và trỏ đến tệp findlink.xlam đã tải về ở bước 1. Sau đó nhấn OK để xác nhận.

Lúc này, chúng ta đã cài đặt xong Add-ins Find Link cho Excel.

Sử dụng Add-Ins

Sau khi cài đặt, để sử dụng add-ins, trên menu Excel, bạn chuyến đến tab Add-ins và nhấn chọn Find Links.

Trong cửa sổ hiện lên, các bạn click chọn liên kết cần xóa bỏ. Sau đó tích vào tùy chọn tương ứng bên dưới rồi nhấn OK.

Excel add in Find Link

Add-Ins Link Finder cung cấp cho chúng 3 option như sau:

  • Option 1: Hiển thị các liên kết tìm thấy, sau đó bạn quyết định sửa hoặc xóa từng liên kết.
  • Option 2: Hiển thị danh sách các liên kết
  • Option 3: Xóa và lập danh sách các liên kết tìm thấy.

Sao chép

Nếu bạn đã thử tất cả các cách ở trên mà không thành công thì hãy tạo 1 bản sao không chứa external link.

Để thực hiện việc này, các bạn hãy tạo 1 bảng tính Excel mới. Sau đó sao chép nội dung từng sheet từ file cũ sang.

Lưu ý khi sao chép hãy để ý ở tab Data, mục Connections. Nếu nút Edit Links sáng lên có nghĩa là nội dung bạn vừa sao chép có dính external links.

Nếu nội dung bị dính external link, hãy thử xóa Cell style rules. Bạn chuyển qua tab Home > Conditional Formatting > Clear Rules > Clear rules from Entire Sheet.

Sau đó hãy thử sao chép lại nội dung trong sheet qua tệp mới. Lặp lại với các sheet khác nếu dính external links.

Link ref: https://www.vietrick.com/huong-dan-xoa-external-links-trong-excel/

8/11/22

[Cracking] Is there a way to crack the password on an Excel VBA Project 64bits?

 how it works

  1. Open the file(s) that contain your locked VBA Projects.
  2. Create a new file with the same type as the above and store this code in Module1

    Option Explicit
    
    Private Const PAGE_EXECUTE_READWRITE = &H40
    
    Private Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _
    (Destination As LongPtr, Source As LongPtr, ByVal Length As LongPtr)
    
    Private Declare PtrSafe Function VirtualProtect Lib "kernel32" (lpAddress As LongPtr, _
    ByVal dwSize As LongPtr, ByVal flNewProtect As LongPtr, lpflOldProtect As LongPtr) As LongPtr
    
    Private Declare PtrSafe Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPtr
    
    Private Declare PtrSafe Function GetProcAddress Lib "kernel32" (ByVal hModule As LongPtr, _
    ByVal lpProcName As String) As LongPtr
    
    Private Declare PtrSafe Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As LongPtr, _
    ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _
    ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer
    
    Dim HookBytes(0 To 11) As Byte
    Dim OriginBytes(0 To 11) As Byte
    Dim pFunc As LongPtr
    Dim Flag As Boolean
    
    Private Function GetPtr(ByVal Value As LongPtr) As LongPtr
        GetPtr = Value
    End Function
    
    Public Sub RecoverBytes()
        If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 12
    End Sub
    
    Public Function Hook() As Boolean
        Dim TmpBytes(0 To 11) As Byte
        Dim p As LongPtr, osi As Byte
        Dim OriginProtect As LongPtr
    
        Hook = False
    
        #If Win64 Then
            osi = 1
        #Else
            osi = 0
        #End If
    
        pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")
    
        If VirtualProtect(ByVal pFunc, 12, PAGE_EXECUTE_READWRITE, OriginProtect) <> 0 Then
    
            MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, osi+1
            If TmpBytes(osi) <> &HB8 Then
    
                MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 12
    
                p = GetPtr(AddressOf MyDialogBoxParam)
    
                If osi Then HookBytes(0) = &H48
                HookBytes(osi) = &HB8
                osi = osi + 1
                MoveMemory ByVal VarPtr(HookBytes(osi)), ByVal VarPtr(p), 4 * osi
                HookBytes(osi + 4 * osi) = &HFF
                HookBytes(osi + 4 * osi + 1) = &HE0
    
                MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 12
                Flag = True
                Hook = True
            End If
        End If
    End Function
    
    Private Function MyDialogBoxParam(ByVal hInstance As LongPtr, _
    ByVal pTemplateName As LongPtr, ByVal hWndParent As LongPtr, _
    ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As Integer
    
        If pTemplateName = 4070 Then
            MyDialogBoxParam = 1
        Else
            RecoverBytes
            MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _
                       hWndParent, lpDialogFunc, dwInitParam)
            Hook
        End If
    End Function
    
  3. Paste this code in Module2 and run it

    Sub unprotected()
        If Hook Then
            MsgBox "VBA Project is unprotected!", vbInformation, "*****"
        End If
    End Sub