Thủ thuật Excel

Đổi qua .xls trước khi chạy code

Gỡ password của workbook

Sub PasswordBreaker()
'Breaks worksheet password protection.
'Pha password workbook excel
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim i1 As Integer, i2 As Integer, i3 As Integer
    Dim i4 As Integer, i5 As Integer, i6 As Integer
    On Error Resume Next
    For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
    For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
    For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
    For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
    ActiveWorkbook.Unprotect Chr(i) & Chr(j) & Chr(k) & _
        Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
        Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
    If ActiveWorkbook.ProtectContents = False Then
        MsgBox "One usable password is " & Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
            Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
         Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub

Gỡ password của worksheet

Sub PasswordBreaker()
'Breaks worksheet password protection.
'pha password excel
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim i1 As Integer, i2 As Integer, i3 As Integer
    Dim i4 As Integer, i5 As Integer, i6 As Integer
    On Error Resume Next
    For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
    For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
    For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
    For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
    ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
        Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
        Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
    If ActiveSheet.ProtectContents = False Then
        MsgBox "One usable password is " & Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
            Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
         Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub

MERGE GỘP NHIỀU CELLS CÓ NỘI DUNG GIỐNG NHAU TRONG CỘT

Để gộp / merge nhiều cells có nội dung giống nhau trong 1 cột của Excel, ngoài cách làm bằng tay, ta có thể sử dụng code VBA để làm điều này như sau:

Bước 1: Dán code sau vào 1 module mới trong file Excel

Sub MergeSameCell()

Dim Rng As Range, xCell As Range

Dim xRows As Integer

xTitleId = “AnhChau”

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox(“Range”, xTitleId, WorkRng.Address, Type:=8)

Application.ScreenUpdating = False

Application.DisplayAlerts = False

xRows = WorkRng.Rows.Count

For Each Rng In WorkRng.Columns

For i = 1 To xRows – 1

For j = i + 1 To xRows

If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then

Exit For

End If

Next

WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j – 1, 1)).Merge

i = j – 1

Next

Next

Application.DisplayAlerts = True

Application.ScreenUpdating = True

End Sub

Bước 2: Bấm F5 để chạy code và chọn vùng muốn gộp các cells có nội dung trùng nhau rồi bấm OK

HIỆN NHIỀU SHEET CÙNG LÚC

Mở file Excel lên, nhấn Alt+F11, chọn Insert\Module và dán đoạn code sau vào khung soạn thảo bên phải

Sub UnhideSheet()

Dim Ws As Worksheet

For Each Ws In ThisWorkbook.Sheets

Ws.Visible = -1

Next

End Sub

HÀM LOẠI BỎ DẤU TIẾNG VIỆT TRONG EXCEL

Khi sử dụng bảng tính Excel, bạn sẽ gặp một số yêu cầu chuyển các tên tiếng Việt có dấu sang tiếng Việt không dấu. Trong trường hợp này thay vì phải mất thời gian gõ lại những tên này, bạn hãy sử dụng hàm loại bỏ dấu tiếng Việt trong Excel.

Thông thường để chuyển các tên tiếng Việt có dấu sang không dấu, bạn hay làm là gõ lại chúng. Tuy nhiên cách này mất nhiều thời gian và công sức nếu phải gõ lại danh sách hàng mấy trang, … Hàm loại bỏ dấu tiếng Việt trong Excel sẽ giúp bạn thực hiện việc làm này dễ dàng.

HƯỚNG DẪN DÙNG HÀM LOẠI BỎ DẤU TIẾNG VIỆT TRONG EXCEL – VÍ DỤ MINH HỌA

Bước 1: Từ bảng tính Excel, các bạn nhấn tổ hợp phím Alt + F11 để mở cửa sổ VB.

Bước 2: Vào Insert Module

Bước 3: Nhập đoạn mã sau vào cửa sổ trình duyệt

Function Bodau(ByVal sContent As String) As String

Dim i As Long

Dim intCode As Long

Dim sChar As String

Dim sConvert As String

Bodau = AscW(sContent)

For i = 1 To Len(sContent)

sChar = Mid(sContent, i, 1)

If sChar <> “” Then

intCode = AscW(sChar)

End If

Select Case intCode

Case 273

sConvert = sConvert & “d”

Case 272

sConvert = sConvert & “D”

Case 224, 225, 226, 227, 259, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863

sConvert = sConvert & “a”

Case 192, 193, 194, 195, 258, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862

sConvert = sConvert & “A”

Case 232, 233, 234, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879

sConvert = sConvert & “e”

Case 200, 201, 202, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878

sConvert = sConvert & “E”

Case 236, 237, 297, 7881, 7883

sConvert = sConvert & “i”

Case 204, 205, 296, 7880, 7882

sConvert = sConvert & “I”

Case 242, 243, 244, 245, 417, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907

sConvert = sConvert & “o”

Case 210, 211, 212, 213, 416, 7884, 7886, 7888, 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, 7906

sConvert = sConvert & “O”

Case 249, 250, 361, 432, 7909, 7911, 7913, 7915, 7917, 7919, 7921

sConvert = sConvert & “u”

Case 217, 218, 360, 431, 7908, 7910, 7912, 7914, 7916, 7918, 7920

sConvert = sConvert & “U”

Case 253, 7923, 7925, 7927, 7929

sConvert = sConvert & “y”

Case 221, 7922, 7924, 7926, 7928

sConvert = sConvert & “Y”

Case Else

sConvert = sConvert & sChar

End Select

Next

Bodau = sConvert

End Function

Bước 4: Trở về cửa sổ bảng tính Excel. Click vào nút Office button Excel Options

Bước 5: Vào tab Trust Center Trust Center Settings…

Bước 6: Vào tab Macro Settings → tick chọn Enable all macros Trust access to the VBA project object model OK.

Bước 7: Bây giờ khi muốn bỏ dấu tiếng việt trong Excel bạn làm như sau:

+ Với chuỗi cần bỏ dấu

=Bodau (“chuỗi cần bỏ dấu”)

Ví dụ: =Bodau (“Tải miễn phí”) = Tai mien phi

+ Với ô chứa chuỗi cần bỏ dấu

=Bodau (ô chứa chuỗi cần bỏ dấu)

Ví dụ: =Bodau (A1)