Hiển thị các bài đăng có nhãn ExcelVBA. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn ExcelVBA. Hiển thị tất cả bài đăng

 Trong nhiều doanh nghiệp hiện nay, tính năng nhập dữ liệu online của Googlesheet được khai thác để nhiều người sử dụng và nhập liệu đồng thời. Và người dùng có nhu cầu lấy dữ liệu từ Googlesheet về Excel để phục vụ cho việc lưu trữ, xử lý số liệu, làm đa dạng các báo cáo hơn

Bài viết này sẽ hướng dẫn dùng VBA để lấy dữ liệu từ Googlesheet về bảng tính Excel

Bước 1: Thực hiện chia sẻ file

Vào file cần lấy dữ liệu trên Googlesheet  => Bấm vào Chia sẻ (Share) => Ở phần Quyền truy cập chung (General access) =>  Chọn Bất kỳ ai có đường liên kết (Anyone with this link)

Bước 2: Lấy chuỗi khóa trong đường link file Googlesheet

Giả sử link của 1 file googlesheet là:

https://docs.google.com/spreadsheets/d/1jWJqRmx7T6GkNTMJUTrjR96muNKgrmokd_ZAViSaXT0/edit#gid=1039827565

Thì chuỗi khóa là đoạn sau d/ và trước /edit:  

"1jWJqRmx7T6GkNTMJUTrjR96muNKgrmokd_ZAViSaXT0"

Bước 3: Sao chép đoạn code sau vào môi trường VBA

Mở file Excel trên máy tính lên => Nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11) để vào cửa sổ VBA

Trong cửa sổ VBA vào Insert => Module và copy đoạn code dưới đây vào phần soạn thảo code trong Module.

Thay đoạn "xxxxxxxxxxxxxxxxxxxxxxxxxxx" trong code bằng chuỗi khóa lấy ở bước 2 (Lưu ý: Chuỗi này phải đặt trong dấu nháy kép)

Sub GetDataGGsheet()

    Dim qry As QueryTable, ustr As String, kstr As String

    kstr = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"

    If ActiveSheet.QueryTables.Count > 0 Then ActiveSheet.QueryTables(1).Delete

    ActiveSheet.Cells.Clear

    ustr = "https://spreadsheets.google.com/tq?tqx=out:html&key=" & kstr

    Set qry = ActiveSheet.QueryTables.Add(Connection:="URL;" & ustr, Destination:=Range("$A$1"))

    With qry

        .WebSelectionType = xlAllTables

        .WebFormatting = xlWebFormattingNone

        .Refresh

    End With

End Sub

Bước 4: Chạy VBA để lấy dữ liệu

Nhấn phím F5 và chờ trong giây lát để lấy dữ liệu về File Excel. Trường hợp có xuất hiện thông báo lỗi thì cần kiểm tra lại Bước 1, Bước 2 xem đã chia sẻ file hay lấy đúng mã khóa chưa

Liên hệ tư vấn khóa học Excel cho người đi làm & đặt hàng đào tạo tại doanh nghiệp

{Đt Zalo} - 038 696 1334


 Trong Googlesheet có hàm GOOGLETRANSLATE hỗ trợ người dùng dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác. Tuy nhiên, trong Excel thì lại không có sẵn hàm dịch

Bài viết này chia sẻ code Function VBA cho phép dịch giữa các ngôn ngữ:


YÊU CẦU KHI DÙNG HÀM

Máy tính phải có kết nối mạng Internet

HƯỚNG DẪN ĐƯA HÀM TRANSLATE VÀO FILE EXCEL

Bước 1: Vào cửa sổ VBA

Mở file Excel và nhấn tổ hợp Alt+F11 (hoặc Alt+Fn+F11) để vào cửa sổ VBA

Bước 2: Chèn Module

Trong cửa sổ VBA vào thẻ Insert => Chọn Module

Bước 3: Paste đoạn code dưới đây vào nơi soạn thảo code trong Module

Function Translate(sText, FromLang, ToLang) Dim p1, p2, URL, resp Const DIV_RESULT$ = "<div class=""result-container"">" Const URL_TEMPLATE$ = "https://translate.google.com/m?hl=[from]&sl=[from]&tl=[to]&ie=UTF-8&prev=_m&q=" URL = URL_TEMPLATE & WorksheetFunction.EncodeURL(sText) URL = Replace(URL, "[to]", FromLang) URL = Replace(URL, "[from]", ToLang) resp = WorksheetFunction.WebService(URL) p1 = InStr(resp, DIV_RESULT) If p1 Then p1 = p1 + Len(DIV_RESULT) p2 = InStr(p1, resp, "</div>") Translate = Mid$(resp, p1, p2 - p1) End If End Function

Bước 4: Trở lại cửa sổ Excel và nhập hàm TRANSLATE

Ví dụ: Ô A1 nhập chữ Hello. Thì công thức tại ô B1 là:

=TRANSLATE(A1,"En","Vi")

Bước 5: Save as file sang dạng cho phép lưu trữ Macro như: .xls (Excel 97-2003), .xlsm (Excel Enable Macro Workbook), .xlsb (Excel Binary Workbook)

MỘT SỐ KÝ HIỆU NGÔN NGỮ THÔNG DỤNG

"En" - Tiếng Anh

"Zh" - Tiếng Trung

"Vi" - Tiếng Việt

"Ja" - Tiếng Nhật

"Ko" - Tiếng Hàn

"Fr" - Tiếng Pháp


Liên hệ tư vấn khóa học Excel cho người đi làm & đặt hàng đào tạo tại doanh nghiệp

{Đt Zalo} - 038 696 1334


 Trong nhiều tình huống nhập liệu, người dùng đưa những số liệu, thông tin vào trong Comment để mục đích ghi chú, nhưng sau này lại có thể dùng chính dữ liệu đó để xử lý và tính toán. Do vậy cần lấy thông tin từ trong Comment ra thành dữ liệu ô Excel

Bài viết sau sẽ hướng dẫn sử dụng code VBA để lấy comment trong ô Excel

Bước 1: Nhấn tổ hợp phím Alt+F11 để vào cửa sổ VBA.

Trong cửa sổ VBA hiển thị thì vào Insert => Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ VBA

Function GetComment(cl As Range) As String

    GetComment = cl.Comment.Text

End Function



Bước 3: Trở lại bảng tính Excel và dùng hàm GetComment như hàm Excel thông thường
Và khi đó có thể lồng ghép thêm hàm khác của Excel đi cùng

Ví dụ: =MID(GetComment(A1),FIND(":",GetComment(A1))+1,99)

Liên hệ tư vấn khóa học Excel cho người đi làm & đặt hàng đào tạo tại doanh nghiệp

{Đt Zalo} - 038 696 1334



 Spin Button là 1 dạng nút bấm điều khiển lên và xuống để điền giá trị con số tăng lên hoặc giảm xuống vào một ô liên kết tới nó. Trình bày một Form biểu mẫu có thêm dạng nút bấm này thì sẽ giúp bảng tình trở lên chuyên nghiệp, lạ mắt hơn

HƯỚNG DẪN CHÈN SPIN BUTTON TRONG EXCEL

Bước 1: Mở thanh công cụ Developer trên Excel

Vào File => Options => Customize Ribbon => Tích vào Developer

Bước 2: Thanh công cụ Developer xuất hiện trên Menu Excel, vào thanh công cụ này và chọn Insert => chọn tiếp Spin Button (trong nhóm Form Control).

Bước 3: Dùng con chuột vẽ Spin Button lên bảng tính excel

và kết quả sau khi vẽ

Bước 4: Click chuột phải vào Spin Button vừa vẽ và chọn Format Control. Trong mục này ở thẻ Control thì thực hiện khai báo như sau:

- Minimum value: Giá trị nhỏ nhất

- Maximum value: Giá trị lớn nhất

- Cell link: Ô kết quả liên kết tới

Bước 5: Trở lại bảng tính và bấm vào mũi tên lên xuống của Spin Button thì kết quả ô Cell link sẽ tăng và giảm trong khoảng từ Minimum và Maximum value

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt Zalo} - 038 696 1334





 Trong nhiều file có sử dụng code VBA thì người dùng có mong muốn bảo mật code hoặc để tránh người dùng can thiệp vào sửa xóa code VBA thì cần đặt mật khẩu khi vào môi trường VBA.

HƯỚNG DẪN ĐẶT MẬT KHẨU CHO CODE VBA TRONG EXCEL

Bước 1: Nhấn Alt+F11 để vào môi trường VBA. 

Trong cửa sổ môi trường VBA hiển thị thì vào Tools => VBAProject Properties...

Bước 2: Cửa sổ VBAProject Properties hiển thị thì chọn thẻ Protection và thiết lập Password. 
Sau khi thiết lập xong thì tắt file đi mở lại (nhớ lưu file ở đuôi .xlsm, xlsb hoặc xls)
Kết quả thu được là khi mở lại file => vào môi trường VBA thì Excel sẽ yêu cầu Pass đăng nhập

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334




 Option Button là 1 điều khiển nâng cao Form Control trong Excel để tạo nút bấm lựa chọn một trong nhiều phương án


CÁC BƯỚC TẠO OPTION BUTTON NHƯ SAU

Bước 1: Hiển thị thanh công cụ Developer của Excel

Vào: File => Options => Customize Ribbon=>Tích chọn vào Developer=> Nhấn Ok thì menu Developer sẽ xuất hiện trên Excel

Bước 2: Trong tab menu Developer => Insert => Option button
Và thực hiện vẽ nút Option button và sửa tên theo mong muốn, click chuột phải vào option Button vừa tạo và chọn Format Control và trỏ vào ô Cell Link bất kỳ
Bước 3: Thực hiện nhân bản Option Button
Giữ phím Ctrl và click chuột vào Option Button vừa tạo để tạo ra nhiều Option khác

Options Button sẽ trả kết quả về ô Cell link là thứ tự của các lựa chọn được tạo. Kết quả này sẽ phục vụ đưa vào trong thống kê, tính toán theo lựa chọn. Option Button được ứng dụng nhiều trong thiết kế biểu mẫu đẹp và chuyên nghiệp hơn

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Check box là 1 điều khiển nâng cao trong bộ ứng dụng Form Control của Excel. Hay còn gọi nút tích chọn hoặc bỏ chọn. 

CÁC BƯỚC TẠO CHECKBOX CONTROL TRONG EXCEL NHƯ SAU
Bước 1: Hiển thị thanh công cụ Developer trên Excel
Vào: File => Options => Customize Ribbon=>Tích chọn vào Developer=> Nhấn Ok thì menu Developer sẽ xuất hiện trên Excel

Bước 2: Trong Menu Developer => Chọn Insert => Checkbox
Thực hiện vẽ nút Checkbox trên màn hình và sửa tên của nút check box theo mong muốn
Bước 3: Click chuột phải vào nút checkbox mới tạo và chọn Format Control
Ở màn hình Format Control hiển thị, trong tab Control thì trỏ Cell link vào 1 ô muốn liên kết tới
Kết quả khi tích hoặc bỏ tích từ Form Control sẽ trả về cho ô Cell Link là giá trị TRUE hoặc FALSE. TRUE là tích và FALSE là bỏ tích. Từ giá trị True, False này thì chúng ta có thể đưa vào trong công thức để phục vụ tính toán hoặc hiển thị theo nhu cầu

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334





 ComboBox là 1 điều kiển nâng cao trong bộ Form Control của Excel

ComboBox Control nhìn thì trông giống Validation, nhưng thực tế thì nó là 1 Object (đối tượng) được chèn vào bảng tính và nó luôn được hiển thị. Còn với Validation List thì khi click vào ô có thiết lập Validation List thì mới xuất hiện mũi tên trỏ xuống. Đồng thời Combobox là 1 Object nên có thể dùng chuột di chuyển sang vị trí khác trong excel.
CÁC BƯỚC TẠO RA COMBO BOX TRÊN EXCEL
Bước 1: Chuẩn bị trước 1 danh sách bất kỳ (ví dụ danh sách các tỉnh)
Bước 2: Hiển thị thanh công cụ Developer của Excel
Vào: File => Options => Customize Ribbon=>Tích chọn vào Developer=> Nhấn Ok thì menu Developer sẽ xuất hiện trên Excel
Bước 3: Trong Menu Developer => Chọn Insert => Combo Box
Sau đó con trỏ hiển thị là dấu + thì người dùng quét 1 vùng nhỏ trên bảng tính để vẽ biểu tượng combo box 
Bước 3: Thiết lập Format Control cho Combo Box
Khối Combobox hiển thị thì click chuột phải vào và chọn Format Control
Ở màn hình Format Control hiển thị thì chọn tab Control. Mục Input Range thì quét vào vùng dữ liệu cần đưa vào combobox, Cell link thì trỏ vào ô nào đó ngoài danh sách (thường lấy ô bên cạnh combobox)

Kết quả là khi bấm vào mũi tên của combobox sẽ list ra danh sách, khi chọn 1 đối tượng nào đó trong danh sách thì ô Cell link sẽ trả về số thứ tự của đối tượng trong danh sách. Ví dụ Đà Nẵng là đối tượng đứng thứ 3 của danh sách từ trên xuống thì kết quả ô Cell link D3 sẽ trả về là 3
Như vậy, ứng dụng Combo Box sẽ trả về kết quả là số thứ tự của phần tử trong mảng danh sách (tính từ trên xuống dưới), và khi ứng dụng Combo Box sẽ thay thế được hàm MATCH trong Excel.
Ví dụ tình huống dưới dây không cần dùng hàm MATCH để tìm tọa độ chi nhánh trong mảng. Khi đó dễ dàng kết hợp với hàm INDEX, OFFSET,...

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334







 Trong một số trường hợp người dùng nhập liệu và tô màu theo ô và muốn thống kê tính tổng theo màu sắc.

Bài viết dưới đây sẽ chia sẻ về hàm VBA tính tổng theo điều kiện màu sắc như sau:



Bước 1: Mở file Excel có số liệu cần tính tổng theo màu sắc và nhấn Alt+F11 để vào môi trường VBA. Tại cửa sổ môi trường VBA thì vào menu Insert=> Module
Bước 2: Copy đoạn code dưới đây vào cửa sổ của Module
Function SumifColor(rng As Range, vc As Range)
    Dim cl As Range, ct As Double
    ct = 0
    For Each cl In rng
        If cl.Interior.ColorIndex = vc.Interior.ColorIndex Then
            If IsNumeric(cl.Value) Then ct = ct + cl.Value
        End If
    Next
    SumifColor = ct
End Function
Bước 3: Trở lại cửa sổ bảng tính excel và gõ hàm SumifColor và truyền vào 2 tham số. 
- Tham số đầu tiên là vùng cần tính tổng theo màu
- Tham số thứ 2 là ô có chứa màu điều kiện
Ví dụ: Từ A1:A100 là vùng cần tính tổng, D1 là ô màu điều kiện thì công thức là
=SumifColor(A1:A100,D1)

Bước 4: Save As lại file excel sang dạng Excel enable macro workbook (xlsm) hoặc Excel binary (xlsb) hoặc Excel 97-2003 (xls) để lưu trữ macro cho file

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Trong một số trường hợp người dùng nhập liệu và tô màu theo ô và muốn thống kê đếm theo màu sắc.

Bài viết dưới đây sẽ chia sẻ về hàm VBA đếm theo điều kiện màu sắc như sau:

Bước 1: Mở file Excel có số liệu cần đếm theo màu sắc và nhấn Alt+F11 để vào môi trường VBA. Tại cửa sổ môi trường VBA thì vào menu Insert=> Module
Bước 2: Copy đoạn code dưới đây vào cửa sổ của Module
Function CountifColor(rng As Range, vc As Range)
    Dim cl As Range, ct As Long
    ct = 0
    For Each cl In rng
        If cl.Interior.ColorIndex = vc.Interior.ColorIndex Then ct = ct + 1
    Next
    CountifColor = ct
End Function
Bước 3: Trở lại cửa sổ bảng tính excel và gõ hàm CountifColor và truyền vào 2 tham số. 
- Tham số đầu tiên là vùng cần đếm theo màu
- Tham số thứ 2 là ô có chứa màu điều kiện cần đến
Ví dụ: Từ A1:A100 là vùng cần đếm, D1 là ô màu điều kiện thì công thức là
=CountifColor(A1:A100,D1)

Bước 4: Save As lại file excel sang dạng Excel enable macro workbook (xlsm) hoặc Excel binary (xlsb) hoặc Excel 97-2003 (xls) để lưu trữ macro cho file

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Trong Excel khi người dùng giữ phím Alt và dùng thuột thao tác với bảng tính thì có thể xuất hiện cửa sổ màn hình tìm kiếm trên giao diện Excel - Research Panel. Và cửa sổ này rất khó tắt, đặc biệt là với các bản Office cũ

Bài viết dưới đây sẽ hướng dẫn cách tắt cửa sổ tìm kiếm Research Panel trong Excel

HƯỚNG DẪN TẮT CỬA SỔ REARCH PANEL TRONG MÔI TRƯỜNG VBA
Bước 1: Mở file Excel xuất hiện cửa sổ Research và nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11)
Bước 2: Trong cửa sổ môi trường VBA hiển thị thì nhấn tổ hợp phím Ctrl+G để hiển thị cửa sổ Immediate
Bước 3: Copy đoạn mã dưới dây và Paste vào cửa sổ Immediate và nhấn Enter để chạy
Application.CommandBars("Research").Enabled = False

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334



 Khi sử dụng một chương trình Excel có Macro thì khi mở lên hay xuất hiện thông báo lỗi "SECURITY WARNING Macro have been disable Enable Content" như hình ảnh dưới đây

Thông báo này có nghĩa là Macro VBA trong file đang ở trạng thái không hoạt động. Có 2 cách để xử lý vấn đề này:
- Cách 1: Mỗi lần xuất hiện thì bấm vào nút Enable Content hiển thị 
- Cách 2: Thiết lập trong Trust Center Settings như sau:
*** Bước 1: Vào File => Options => Trust Center => Chọn Trust Center Settings
*** Bước 2: Trong cửa sổ Trust Center hiển thị => Chọn Macro Settings => Chọn Enable VBA Macro (not recommended, pocentially dangerous code can run)

Ngoài ra, trong cửa sổ macro settings này có thể lưu ý thêm như sau:
- Disable VBA macro without notifications: Tức vô hiệu hóa tất cả các macro mà không có thông báo
- Disable VBA macro with notifications: Tức vô hiệu hóa tất cả các macro mà có thông báo xuất hiện. Đây chính là mặc định khi cài đặt Excel và sẽ xuất hiện thông báo "SECURITY WARNING Macro have been disable Enable Content" như trên đầu bài viết
- Disable VBA Macro except digitally signed macros: tức vô hiệu hóa các macro ngoại trừ macro có thiết lập chữ ký số
- Enable Excel 4.0 macro when macros are enable: Trong File excel nếu người dùng sử dụng tính năng có trong Excel 4.0 như Evaluate chẳng hạn thì nếu tích vào tính năng này thì Excel 4.0 sẽ tự động mở cùng

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334



 Trong file excel có nhiều sheet ẩn, bằng phương pháp thủ công thì người dùng sẽ phải Unhide từng sheet ẩn đó, như vậy sẽ mất nhiều thời gian.

Bài viết dưới đây sẽ chia sẻ code VBA để unhide tất cả các sheet ẩn. 

Bước 1: Mở File Excel cần bỏ ẩn các sheet và nhấn Alt+F11 (hoặc Alt+Fn+F11) để vào cửa sổ VBA => Trong cửa sổ VBA chọn Insert => Module

Bước 2: Copy đoạn code dưới dây vào cửa sổ Module

Sub UnHidenSheet()

    Dim sh As Worksheet, Msh As Worksheet

    Set Msh = ActiveSheet

    For Each sh In ThisWorkbook.Sheets

        If sh.Name <> Main_sheet Then sh.Visible = xlSheetVisible

    Next

    Msh.Select

End Sub

Bước 3: Chạy code bằng cách nhấn nút Run (màu xanh nhỏ) trên thanh công cụ của cửa sổ VBA

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Trong quá trình nhập liệu hoặc tiếp nhận số liệu từ người khác thì thường có phát sinh những dòng trống ở giữa các khối số liệu. Điều này sẽ gây khá nhiều bất tiện khi dùng các phím tắt, filter và sort thiếu giá trị, làm công thức,...

Bài viết dưới đây sẽ hướng dẫn dùng VBA để thực hiện xóa dòng trống trong khối dữ liệu. Các bước thực hiện như sau:

Bước 1: Mở sheet Excel cần xóa dòng trống và nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11) để vào môi trường VBA => Vào menu Insert chọn Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ Module

Sub ClearBlankRow()

    Dim Cot_kt As String

    Dim i&, Dong_dau&

    Dong_dau = 4

    Cot_kt = "A"

    For i = Range(Cot_kt & Rows.Count).End(xlUp).Row To Dong_dau Step -1

        If Range(Cot_kt & i).Value = "" Then Range(Cot_kt & i).EntireRow.Delete

    Next

End Sub

Bước 3: Sửa thông tin trong code

Dong_dau=4 thì dòng bắt đầu là dòng nào thì thay số 4 bằng dòng bắt đầu tương ứng của sheet

Cot_kt = "A" cột kiểm tra xem dòng đó có bị trống hay ko. Thay "A" bằng cột kiểm tra theo sheet. Nếu ô nào trong cột A bị trống thì Code sẽ thực hiện xóa cả dòng đó

Bước 4: Chạy code bằng cách nhấn nút Run (màu xanh nhỏ trên thanh công cụ VBA)

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Trong xử lý dữ liệu, nhiều trường hợp cần loại bỏ dấu để phục vụ các công việc khác như: Loại bỏ dấu trong họ tên để tạo Email, import vào các cơ sở dữ liệu yêu cầu không có dấu,...Để chuyển dữ liệu Tiếng Việt về không dấu thì thường dùng Unikey, EVkey, một số Add-in hoặc VBA. 

Bài viết dưới đây sẽ chia sẻ hàm VBA để loại bỏ dấu Tiếng Việt trong Excel như sau:

Bước 1: Mở file Excel nhấn Alt+F11 (hoặc Alt+Fn+F11) để vào môi trường VBA. Trong giao diện VBA, vào Menu Insert chọn Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ soạn thảo Module

Function BoDau(text As String) As String Dim CoDauThuong, CoDauHoa, KhongDau, BoDau1 As String, Char As String, Code As Long, i As Long, n As Long CoDauThuong = Array(225, 224, 7843, 227, 7841, 259, 7855, 7857, 7859, 7861, 7863, 226, 7845, 7847, 7849, 7851, 7853, 273, 233, 232, 7867, 7869, 7865, _ 234, 7871, 7873, 7875, 7877, 7879, 237, 236, 7881, 297, 7883, 243, 242, 7887, 245, 7885, 244, 7889, 7891, 7893, 7895, 7897, 417, _ 7899, 7901, 7903, 7905, 7907, 250, 249, 7911, 361, 7909, 432, 7913, 7915, 7917, 7919, 7921, 253, 7923, 7927, 7929, 7925) CoDauHoa = Array(193, 192, 7842, 195, 7840, 258, 7854, 7856, 7858, 7860, 7862, 194, 7844, 7846, 7848, 7850, 7852, 272, 201, 200, 7866, 7868, 7864, _ 202, 7870, 7872, 7874, 7876, 7878, 205, 204, 7880, 296, 7882, 211, 210, 7886, 213, 7884, 212, 7888, 7890, 7892, 7894, 7896, 416, _ 7898, 900, 7902, 7904, 7906, 218, 217, 7910, 360, 7908, 431, 7912, 7914, 7916, 7918, 7920, 221, 7922, 7926, 7928, 7924) KhongDau = Array(97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 100, 101, 101, 101, 101, 101, _ 101, 101, 101, 101, 101, 101, 105, 105, 105, 105, 105, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, _ 111, 111, 111, 111, 111, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 121, 121, 121, 121, 121) BoDau1 = "" For i = 1 To Len(text) Char = Mid(text, i, 1) Code = AscW(Char) If Code <= 122 Then BoDau1 = BoDau1 & Char Else: For n = 0 To 66 If Code = CoDauThuong(n) Then BoDau1 = BoDau1 & ChrW(KhongDau(n)) ElseIf Code = CoDauHoa(n) Then BoDau1 = BoDau1 & ChrW(KhongDau(n) - 32) Exit For End If Next If Len(BoDau1) < i Then BoDau1 = BoDau1 & Char End If End If Next BoDau = BoDau1 End Function

Bước 3: Trở lại giao diện Excel và gõ hàm. Ví dụ: =BoDau(A1) thì kết quả trả về là dữ liệu có dấu tại ô A1 sẽ thành không dấu.

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Trong các doanh nghiệp làm về thi công xây dựng, các doanh nghiệp sản xuất sản phẩm theo quy cách thì việc nhập liệu các thông số thường dụng các dấu +, *, -, / để ghi chi tiết. Ví dụ: 10*20+5*30

Từ các chuỗi văn bản như vậy, người dùng có nhu cầu thực hiện phép tính từ dữ liệu này. Bài viết dưới đây sẽ hướng dẫn chi tiết cách dùng Evaluate để thực hiện phép tính chuỗi như trên

Bước 1: Vào Formula => Define Name => Thực hiện khai báo như sau:

- Phần Name: Đặt tên tùy úy, viết liền và không dấu (có ít nhất 4 ký tự là text trở lên là an toàn nhất). Ví dụ: TONG
- Phần Refers to: Gõ tay =EVALUATE("="&Sheet3!A1). Trong đó, Sheet3 là Tên sheet, nếu tên tiếng việt có dấu hoặc khoảng trống thì phải có dấu nháy đơn bao bên ngoài. Ví dụ: 'Sheet 3'!. A1 là ô đầu tiên có dữ liệu của sheet cần tính toán

Bước 2: Ở ô bên cạnh, người dùng chỉ cần gõ =TONG rồi kéo công thức cho các ô còn lại

Bước 3: Lưu file ở đuôi .xlsm, xlsb, hoặc ,xls

Thực chất hàm EVALUATE có trong Macro 4 của Excel và được đưa vào Name để khai thác Macro này

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Trong xử lý dữ liệu thì nhiều trường hợp cần chèn nhân bản thêm sau mỗi dòng dữ liệu. Bài viết dưới đây sẽ hướng dẫn sử dụng code mẫu VBA để chèn nhân bản thêm dòng dữ liệu tự động như sau:

Bước 1: Mở sheet Excel cần chèn nhân bản số dòng và nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11) để vào môi trường VBA=> Vào Insert chọn Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ Module

Sub InsertAndCopyRow()

    Dim Cot_kt As String

    Dim i&, Dong_dau&, So_chen&

    Dong_dau = 5

    Cot_kt = "A"

    So_chen = 10

    For i = Range(Cot_kt & Rows.Count).End(xlUp).Row - 1 To Dong_dau Step -1

        If Range(Cot_kt & i).Value <> "" Then

            Range(Cot_kt & i + 1 & ":" & Cot_kt & i + So_chen).EntireRow.Insert

            Range(Cot_kt & i + 1 & ":" & Cot_kt & i + So_chen).EntireRow.Value = Range(Cot_kt & i).EntireRow.Value

        End If

    Next

End Sub

Bước 3: Sửa thông tin trong code

- Cot_kt="A". Mặc định là cột A là làm căn cứ để insert thêm dòng. Cột này bắt buộc phải có dữ liệu nhập trong đó. Nếu bảng tính căn cứ vào cột khác (ví dụ: C) thì người dùng thay "A" bằng "C"

- So_chen=10: Thay 10 bằng số dòng muốn chèn và nhân bản phía dưới mỗi dòng

Bước 4: Chạy code bằng cách nhấn vào nút Run (màu xanh nhỏ trên thanh công cụ)

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334


 Tính năng Hyperlink được người dùng khai thác nhất nhiều để thực hiện tạo liên kết tới 1 file khác, sheet khác, ô khác,...và sau đó người dùng có thể phát sinh mong muốn lấy đường link đó ra từ liên kết đã tạo.

Bài viết sau sẽ hướng dẫn cách dùng VBA để bổ sung thêm hàm lấy liên kết từ Hyperlink đã tạo trong ô Excel

Bước 1: Mở file Excel lên và nhấn tổ hơp phím Alt+F11 (Alt+Fn+F11) để vào môi trường VBA=> Vào menu Insert chọn Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ Module

Function Getlink(Cl As Range) As String

    Getlink = Cl.Hyperlinks(1).Address

End Function

Bước 3: Trở lại màn hình Excel, ở 1 ô nào đó =Getlink(ô cần lấy link). Ví dụ: =Getlink(A1)

Vì Getlink là 1 hàm tạo ra từ VBA nên người dùng có thể kết hợp với các hàm khác của Excel để cắt ghép chuỗi, tạo lại liên kết, ... như: LEFT, RIGHT, MID, FIND, HYPERLINK,...

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334



 Trong xử lý dữ liệu thì nhiều trường hợp cần chèn thêm những dòng trống sau mỗi dòng dữ liệu. Bài viết dưới đây sẽ hướng dẫn sử dụng code mẫu VBA để chèn dòng trống tự động như sau:

Bước 1: Mở sheet Excel cần chèn thêm dòng trống và nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11) để vào môi trường VBA=> Vào Insert chọn Module

Bước 2: Copy đoạn code dưới đây vào cửa sổ Module

Sub InsertBlankRow()

    Dim Cot_kt As String

    Dim i&, Dong_dau&, So_chen&

    Dong_dau = 5

    Cot_kt = "A"

    So_chen = 10

    For i = Range(Cot_kt & Rows.Count).End(xlUp).Row - 1 To Dong_dau Step -1

        If Range(Cot_kt & i).Value <> "" Then Range(Cot_kt & i + 1 & ":" & Cot_kt & i + So_chen).EntireRow.Insert

    Next

End Sub

Bước 3: Sửa thông tin trong code

- Cot_kt="A". Mặc định là cột A là làm căn cứ để insert thêm dòng. Cột này bắt buộc phải có dữ liệu nhập trong đó. Nếu bảng tính căn cứ vào cột khác (ví dụ: C) thì người dùng thay "A" bằng "C"

- So_chen=10: Thay 10 bằng số dòng trống muốn chèn phía dưới mỗi dòng

Bước 4: Chạy code bằng cách nhấn vào nút Run (màu xanh nhỏ trên thanh công cụ)

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334



 Trong thực tế sử dụng bảng tính, người dùng thường đặt mật khẩu worksheet  đảm bảo tính toàn vẹn của dữ liệu, công thức,....nhưng sau đó có thể bị quên mật khẩu. Bài viết này sẽ hướng dẫn cách gỡ Password bảo vệ worksheet bằng VBA như sau:

Bước 1: Mở file Excel có sheet bị quên pass => Nhấn tổ hợp phím Alt+F11 (hoặc Alt+Fn+F11) để vào môi trường VBA  => Vào Insert chọn Module

Bước 2: Copy đoạn code dưới đây và paste vào cửa sổ code của Module

Sub BreakPassword()

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

Exit Sub

End If

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

End Sub

Bước 3: Trở lại môi trường Excel, vào click chuột vào sheet có Password protect sheet => rồi trở lại cửa sổ VBA và bấm vào biểu tượng Run (Màu xanh nhỏ) => Kết quả là sheet đó đã được gỡ mật khẩu. Lại tiếp tục đặt con chuột sang sheet tiêp theo có pass và lại chạy Run....=> Có bao nhiêu sheet có pass thì chạy Run bấy nhiêu lần

Nguồn code tham khảo: Instructable

Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp

{Đt+Zalo} - 038 696 1334



Excel Thỉnh Vũ. Được tạo bởi Blogger.