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 và 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)