Gửi Tin Nhắn Cho Admin
Hiển thị các bài đăng có nhãn thu-thuat-excel. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn thu-thuat-excel. Hiển thị tất cả bài đăng

Thứ Hai, 23 tháng 10, 2017

Khóa học Excel từ cơ bản đến nâng cao FREE 100%


BÀI 1. GIỚI THIỆU TỔNG QUAN VỀ EXCEL, GIAO DIỆN CHỨC NĂNG VÀ CÁC THAO TÁC CƠ BẢN TRONG EXCEL

Phạm Minh Tùng  /  at  10/23/2017 09:50:00 CH  /  No comments


BÀI 1. GIỚI THIỆU TỔNG QUAN VỀ EXCEL, GIAO DIỆN CHỨC NĂNG VÀ CÁC THAO TÁC CƠ BẢN TRONG EXCEL

Chủ Nhật, 10 tháng 9, 2017

Chuyển column dạng số sang dạng chữ và ngược lại

- Trong thực tế khi lập trình VBA trong Excel đôi khi chúng ta cần chuyển Coumn Header từ dạng số sang dạng chữ để thao tác với Hàm Range , hoặc trường hợp ta thao tác với Cells thì có thể sử dụng dạng số chẳng hạn, thì hôm nay mình xin tổng hợp lại các cách để thực hiện việc đó:

=> Chuyển Column dạng chữ sang số

Function GetColumnNumber(ByVal strColumnName As String)
GetColumnNumber = Range(strColumnName & "1").Column
End Function
-------------------------------------------------------------------------------------
Function GetColumnNumber2(ByVal strColumnName As String)
    Dim i As Integer
    GetColumnNumber2 = 0
    For i = 1 To Len(strColumnName)
        GetColumnNumber2 = (Asc(UCase(Mid(strColumnName, i, 1))) - 64) + GetColumnNumber2 * 26
    Next i
End Function

=> Chuyển column dạng số sang dạng chữ

- Ta nhập vị trí của column (dạng số) vào ô B2:
=LEFT(REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;"");FIND("$";REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;""))-1)
=IF(MID(ADDRESS(3;B2;;;);3;1)="$";MID(ADDRESS(3;B2;;;);2;1);MID(ADDRESS(3;B2;;;);2;2))
- Viết hàm tự tạo:
Function GetColumnHeader(ByVal ColumnNumber As Integer)
GetColumnHeader = Replace(Replace(Cells(1, ColumnNumber).Address, "1", ""), "$", "")
End Function
--------------------------------------------------------------------------------------
Function GetColumnHeader2(ByVal intColumnNumber As Integer)
GetColumnHeader2 = Split(Cells(1, intColumnNumber).Address, "$")(1)
End Function
-----------------------------------------------------------------------------------------------
Function GetColumnHeader3(ByVal intColumnNumber As Integer) As String
    Dim bColDenom As Byte
    GetColumnHeader3 = ""
    Do
        bColDenom = ((intColumnNumber - 1) Mod 26)
        GetColumnHeader3 = Chr(bColDenom + 65) & GetColumnHeader3
        intColumnNumber = (intColumnNumber - bColDenom) \ 26
    Loop While intColumnNumber > 0
End Function
--------------------------------------------------------------------------------------------------------
Function GetColumnHeader4(intColumnNumber As Integer) As String
    If intColumnNumber > 26 Then
        GetColumnHeader4 = GetColumnHeader4((intColumnNumber - ((intColumnNumber - 1) Mod 26)) / 26) + Chr((intColumnNumber - 1) Mod 26 + 65)
    Else
        GetColumnHeader4 = Chr(intColumnNumber + 64)
    End If
End Function
Phạm Minh Tùng  /  at  9/10/2017 08:51:00 SA  /  No comments

- Trong thực tế khi lập trình VBA trong Excel đôi khi chúng ta cần chuyển Coumn Header từ dạng số sang dạng chữ để thao tác với Hàm Range , hoặc trường hợp ta thao tác với Cells thì có thể sử dụng dạng số chẳng hạn, thì hôm nay mình xin tổng hợp lại các cách để thực hiện việc đó:

=> Chuyển Column dạng chữ sang số

Function GetColumnNumber(ByVal strColumnName As String)
GetColumnNumber = Range(strColumnName & "1").Column
End Function
-------------------------------------------------------------------------------------
Function GetColumnNumber2(ByVal strColumnName As String)
    Dim i As Integer
    GetColumnNumber2 = 0
    For i = 1 To Len(strColumnName)
        GetColumnNumber2 = (Asc(UCase(Mid(strColumnName, i, 1))) - 64) + GetColumnNumber2 * 26
    Next i
End Function

=> Chuyển column dạng số sang dạng chữ

- Ta nhập vị trí của column (dạng số) vào ô B2:
=LEFT(REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;"");FIND("$";REPLACE(CELL("address";OFFSET(A1;1;B2-1));1;1;""))-1)
=IF(MID(ADDRESS(3;B2;;;);3;1)="$";MID(ADDRESS(3;B2;;;);2;1);MID(ADDRESS(3;B2;;;);2;2))
- Viết hàm tự tạo:
Function GetColumnHeader(ByVal ColumnNumber As Integer)
GetColumnHeader = Replace(Replace(Cells(1, ColumnNumber).Address, "1", ""), "$", "")
End Function
--------------------------------------------------------------------------------------
Function GetColumnHeader2(ByVal intColumnNumber As Integer)
GetColumnHeader2 = Split(Cells(1, intColumnNumber).Address, "$")(1)
End Function
-----------------------------------------------------------------------------------------------
Function GetColumnHeader3(ByVal intColumnNumber As Integer) As String
    Dim bColDenom As Byte
    GetColumnHeader3 = ""
    Do
        bColDenom = ((intColumnNumber - 1) Mod 26)
        GetColumnHeader3 = Chr(bColDenom + 65) & GetColumnHeader3
        intColumnNumber = (intColumnNumber - bColDenom) \ 26
    Loop While intColumnNumber > 0
End Function
--------------------------------------------------------------------------------------------------------
Function GetColumnHeader4(intColumnNumber As Integer) As String
    If intColumnNumber > 26 Then
        GetColumnHeader4 = GetColumnHeader4((intColumnNumber - ((intColumnNumber - 1) Mod 26)) / 26) + Chr((intColumnNumber - 1) Mod 26 + 65)
    Else
        GetColumnHeader4 = Chr(intColumnNumber + 64)
    End If
End Function

Thứ Năm, 10 tháng 8, 2017

Bài 53. Định dạng có điều kiện theo tiến độ bằng Icon

- Ngày 10/8/2017: khi các bạn muốn đánh giá mức độ hoàn thành công việc theo một tiến độ cho trước, mà cụ thể ở đây mình sẽ ví dụ sẽ có 4 mức độ hoàn thành, chúng ta có thể dùng Icon để biểu thị tiến độ
Phạm Minh Tùng  /  at  8/10/2017 08:34:00 SA  /  No comments

- Ngày 10/8/2017: khi các bạn muốn đánh giá mức độ hoàn thành công việc theo một tiến độ cho trước, mà cụ thể ở đây mình sẽ ví dụ sẽ có 4 mức độ hoàn thành, chúng ta có thể dùng Icon để biểu thị tiến độ

Thứ Tư, 9 tháng 8, 2017

Bài 52.Tính bình lương của các nhân viên trong các Huyện

- Ngày 09/8/2017: Khi các bạn là Sup của một số Vùng và trong Vùng có một số nhân viên, công ty thì đưa ra cách tính lương của bạn là trung bình của lương các nhân viên trong các vùng bạn quản lý, video sau sẽ giải đáp cho bạn:
Phạm Minh Tùng  /  at  8/09/2017 08:18:00 CH  /  No comments

- Ngày 09/8/2017: Khi các bạn là Sup của một số Vùng và trong Vùng có một số nhân viên, công ty thì đưa ra cách tính lương của bạn là trung bình của lương các nhân viên trong các vùng bạn quản lý, video sau sẽ giải đáp cho bạn:

Bài 51. Tìm số lần xuất hiện của số lớn nhất trong chuỗi số

- Ngày 09/8/2017: Đây là sự kết hợp của các công thức nâng cao trong Excel để thực hiện các yêu cầu về xử lý chuỗi.
Phạm Minh Tùng  /  at  8/09/2017 04:43:00 CH  /  No comments

- Ngày 09/8/2017: Đây là sự kết hợp của các công thức nâng cao trong Excel để thực hiện các yêu cầu về xử lý chuỗi.

Thứ Ba, 27 tháng 6, 2017

Bài 49. Hướng dẫn chi tiết về Ubound và Lbound

- Ubound và Lbound là 2 hàm trả về kích thước của mảng

LBound(ArrayName, Dimension) 
UBound(ArrayName, Dimension)
- Khi ta viết Lbound(ArrayName) hoặc Ubound(ArrayName) thì Dimension mặc định =1
ArrayName: tên mảng.
Dimension: chiều của mảng cần kiểm tra.
Phạm Minh Tùng  /  at  6/27/2017 07:24:00 SA  /  1 comment

- Ubound và Lbound là 2 hàm trả về kích thước của mảng

LBound(ArrayName, Dimension) 
UBound(ArrayName, Dimension)
- Khi ta viết Lbound(ArrayName) hoặc Ubound(ArrayName) thì Dimension mặc định =1
ArrayName: tên mảng.
Dimension: chiều của mảng cần kiểm tra.

Thứ Ba, 16 tháng 5, 2017

Bài 48. Rút ngắn việc khai báo biến sẽ làm code bạn ngắn hơn

- Nếu các bạn cảm thấy việc khai báo biến quá nhàm chán và dài dòng thì bạn có thể thử viết như sau:
 + Bình thường khi khai báo một biến Integer các bạn sẽ viết như sau: Dim Bien as Integer
 + Giờ các bạn có thể rút gọn lại thành: Dim Bien%
 + Và các biến khác cũng tương tự như hình dưới đây
Phạm Minh Tùng  /  at  5/16/2017 04:28:00 CH  /  No comments

- Nếu các bạn cảm thấy việc khai báo biến quá nhàm chán và dài dòng thì bạn có thể thử viết như sau:
 + Bình thường khi khai báo một biến Integer các bạn sẽ viết như sau: Dim Bien as Integer
 + Giờ các bạn có thể rút gọn lại thành: Dim Bien%
 + Và các biến khác cũng tương tự như hình dưới đây

Thứ Ba, 25 tháng 4, 2017

Bài 47. Nhập Liệu Bằng Form Vào Nhiều Sheet

- Ngày 25/4/2017: Hôm nay mình xin chia sẽ với các bạn file nhập liệu bằng form vào nhiều sheet sử dụng VBA, các bạn xem video và download file bên dưới.
- link download file: Download
Phạm Minh Tùng  /  at  4/25/2017 08:03:00 CH  /  No comments

- Ngày 25/4/2017: Hôm nay mình xin chia sẽ với các bạn file nhập liệu bằng form vào nhiều sheet sử dụng VBA, các bạn xem video và download file bên dưới.
- link download file: Download

Bài 46. Addin Filter Unique Multi Range / Lọc dữ liệu duy nhất từ nhiều vùng dữ liệu Excel

- Ngày 25/4/2017: Sau một thời gian dài điều trị bệnh mỏi mắt không sử dụng máy tính nhiều, hôm nay mình bắt đầu viết lại, các bạn đón theo dõi nhé.
Phạm Minh Tùng  /  at  4/25/2017 11:24:00 SA  /  No comments

- Ngày 25/4/2017: Sau một thời gian dài điều trị bệnh mỏi mắt không sử dụng máy tính nhiều, hôm nay mình bắt đầu viết lại, các bạn đón theo dõi nhé.

Thứ Tư, 22 tháng 3, 2017

Bài 45. Đếm Dữ Liệu Duy Nhất Trong Excel

- Ngày 22/3/2017: Đếm dữ liệu duy nhất loại bỏ các giá trị trùng trong excel

- DOWNLOAD FILE: HERE

Phạm Minh Tùng  /  at  3/22/2017 01:36:00 CH  /  No comments

- Ngày 22/3/2017: Đếm dữ liệu duy nhất loại bỏ các giá trị trùng trong excel

- DOWNLOAD FILE: HERE

Chủ Nhật, 19 tháng 3, 2017

Bài 44. Sự Khác Nhau Giữa Trim và WorksheetFunction.Trim Trong VBA

- Ngày 19/3/2017: Như các bạn đã thấy ở tiêu đề vì sao cùng là hàm Trim nhưng MS lại tạo ra 2 hàm 1 hàm trong Excel và 1 hàm trong VBA, chúng ta hãy cùng tìm hiểu nhé:
Phạm Minh Tùng  /  at  3/19/2017 08:49:00 SA  /  No comments

- Ngày 19/3/2017: Như các bạn đã thấy ở tiêu đề vì sao cùng là hàm Trim nhưng MS lại tạo ra 2 hàm 1 hàm trong Excel và 1 hàm trong VBA, chúng ta hãy cùng tìm hiểu nhé:

Thứ Sáu, 17 tháng 3, 2017

Bài 43. Ứng dụng Mảng và For Liệt Kê Chỉnh Hợp

- Ngày 17/3/2017: Hôm nay mình sẽ hướng dẫn các bạn Cách sử dụng Mảng và vòng lặp for để liệt kê các phần tử thuộc chỉnh hợp chập k của N như sau:
Phạm Minh Tùng  /  at  3/17/2017 12:49:00 CH  /  No comments

- Ngày 17/3/2017: Hôm nay mình sẽ hướng dẫn các bạn Cách sử dụng Mảng và vòng lặp for để liệt kê các phần tử thuộc chỉnh hợp chập k của N như sau:

Thứ Tư, 15 tháng 3, 2017

Bài 42. Hướng dẫn chi tiết cách sử dụng mảng và vòng lặp for

- Hôm nay là ngày 15/3/2017: Nội Dung Chính Gồm Các Phần Sau:
  + Vòng Lặp For: 1. Demo for theo cells( hàng, cột)
                              2. Demo for step -1, 2,3 …..
                              3. Demo For … exit for
                              4. For 2 lớp duyệt bảng

+ Sử Dụng Mảng: 1. arr dùng trong split (Phải khai báo kiểu dữ liệu)
                              2. khai báo mảng tĩnh tường minh và rút gọn
                              3. khai báo mảng động và các ứng dụng của mảng động
                              4. ReDim khi mảng kết quả chưa xác định số chiều

Phạm Minh Tùng  /  at  3/15/2017 08:07:00 SA  /  No comments

- Hôm nay là ngày 15/3/2017: Nội Dung Chính Gồm Các Phần Sau:
  + Vòng Lặp For: 1. Demo for theo cells( hàng, cột)
                              2. Demo for step -1, 2,3 …..
                              3. Demo For … exit for
                              4. For 2 lớp duyệt bảng

+ Sử Dụng Mảng: 1. arr dùng trong split (Phải khai báo kiểu dữ liệu)
                              2. khai báo mảng tĩnh tường minh và rút gọn
                              3. khai báo mảng động và các ứng dụng của mảng động
                              4. ReDim khi mảng kết quả chưa xác định số chiều

Thứ Tư, 22 tháng 2, 2017

Bài 41. Tự Động Viết Hoa Chữ Cái Đầu Khi Nhập Tên

- Ngày 22/02/2017: Khi ta nhập tên vào Excel thường ta sẽ viết hoa kí tự đầu, khi đánh máy mà cầm thêm phím Shift nữa để viết Hoa thì đánh hơi bất tiện một tí nên mình xin chia sẽ với các bạn cách làm cho Excel tự động viết Hoa như thế.
Phạm Minh Tùng  /  at  2/22/2017 01:41:00 CH  /  2 comments

- Ngày 22/02/2017: Khi ta nhập tên vào Excel thường ta sẽ viết hoa kí tự đầu, khi đánh máy mà cầm thêm phím Shift nữa để viết Hoa thì đánh hơi bất tiện một tí nên mình xin chia sẽ với các bạn cách làm cho Excel tự động viết Hoa như thế.

Thứ Ba, 21 tháng 2, 2017

Bài 40. Chọn Nhiều Sheet Cùng Lúc Bằng Nhiều Cách

- Ngày 21/02/2017 : Nhìn vào tiêu đề thì các bạn cũng biết rồi, nội dung hôm nay mình chia sẽ với các bạn là cách chọn nhiều sheet cùng lúc, có thể nó sẽ được áp dụng trong một số trường hợp, ví dụ như khi mở file lên chúng ta cần ẩn 1 số sheet hoặc để kiểm tra bản quyền file excel thì chúng ta chỉ cần hiện 1 sheet lên để kiểm tra thôi ...
Phạm Minh Tùng  /  at  2/21/2017 10:32:00 CH  /  3 comments

- Ngày 21/02/2017 : Nhìn vào tiêu đề thì các bạn cũng biết rồi, nội dung hôm nay mình chia sẽ với các bạn là cách chọn nhiều sheet cùng lúc, có thể nó sẽ được áp dụng trong một số trường hợp, ví dụ như khi mở file lên chúng ta cần ẩn 1 số sheet hoặc để kiểm tra bản quyền file excel thì chúng ta chỉ cần hiện 1 sheet lên để kiểm tra thôi ...

Chủ Nhật, 19 tháng 2, 2017

Bài 39. Tham số Modal trong phương thức Show của Userform

- Ngày 19/02/2017: thông thường nếu muốn hiển thị form lên ta viết lệnh: frmLogin.show , mà ít ai biết rằng trong phương thưc show nó còn có tùy chọn Modal là True hoặc False , mặc định sẽ là True, tức là khi form show lên thì ta sẽ không chọn được các ô dưới bảng tính Excel, còn ngược lại nếu ta viết lệnh như sau: frmLogin.show False , thì khi form show lên ta vẫn chọn được các ô dưới bảng tính, vì từng nhu cầu của mỗi người mà ta đặt là True hoặc False.
Phạm Minh Tùng  /  at  2/19/2017 01:25:00 CH  /  No comments

- Ngày 19/02/2017: thông thường nếu muốn hiển thị form lên ta viết lệnh: frmLogin.show , mà ít ai biết rằng trong phương thưc show nó còn có tùy chọn Modal là True hoặc False , mặc định sẽ là True, tức là khi form show lên thì ta sẽ không chọn được các ô dưới bảng tính Excel, còn ngược lại nếu ta viết lệnh như sau: frmLogin.show False , thì khi form show lên ta vẫn chọn được các ô dưới bảng tính, vì từng nhu cầu của mỗi người mà ta đặt là True hoặc False.

Bài 38. 3 Cách add Item cho Combobox trên form

- 19/02/2017: như các bạn đã biết combobox chúng ta có thể add source trên excel, tuy nhiên có một số trường hợp ta cần tùy biến mà add các giá trị vào combobox từ trong VBA, chúng ta sẽ add vào sự kiện khởi tại form: UserForm_Initialize, với bài này thì ta giả sử là đã vẽ combobox lên form rồi và để tên mặc định đó là ComboBox1, chúng ta sẽ chọn 1 trong 2 cách dưới:
Phạm Minh Tùng  /  at  2/19/2017 01:15:00 CH  /  No comments

- 19/02/2017: như các bạn đã biết combobox chúng ta có thể add source trên excel, tuy nhiên có một số trường hợp ta cần tùy biến mà add các giá trị vào combobox từ trong VBA, chúng ta sẽ add vào sự kiện khởi tại form: UserForm_Initialize, với bài này thì ta giả sử là đã vẽ combobox lên form rồi và để tên mặc định đó là ComboBox1, chúng ta sẽ chọn 1 trong 2 cách dưới:

Bài 37. Chuyển đổi Giờ phút dạng thời gian sang dạng text

- 19/02/2017: Giả sử khi ta đã định dạng dữ liệu kiểu giờ phút hh:mm , mà sau đó ta muốn chuyển về dạng text thì dữ liệu sẽ là số 0,xxxxx vì excel hiểu 1 ngày có 24h mà nếu thời gian là 12:00 thì có nghĩa là 0,5, mình xin giới thiệu bạn một sub cũng đơn giản thôi nhưng sẽ giải quyết được vấn đề này, các bạn chỉ việc mở sub lên và chọn vùng cần chuyển đổi thế là xong
Phạm Minh Tùng  /  at  2/19/2017 12:38:00 CH  /  No comments

- 19/02/2017: Giả sử khi ta đã định dạng dữ liệu kiểu giờ phút hh:mm , mà sau đó ta muốn chuyển về dạng text thì dữ liệu sẽ là số 0,xxxxx vì excel hiểu 1 ngày có 24h mà nếu thời gian là 12:00 thì có nghĩa là 0,5, mình xin giới thiệu bạn một sub cũng đơn giản thôi nhưng sẽ giải quyết được vấn đề này, các bạn chỉ việc mở sub lên và chọn vùng cần chuyển đổi thế là xong

Bài 36. Chuyển đổi Ngày (số) kiểu Date sang kiểu Chuỗi để trộn thư.

- Ngày 19/02/2017: Nếu các bạn đã từng trộn thư ( dùng word lấy dữ liệu từ excel để in hàng loạt) thì các bạn chắc hẵn cũng rất bực bội bỡi kiểu dữ liệu ngày, nếu nó chưa được định dạng dưới dạng text thì khi sang word nó sẽ là một số nguyên ( bỡi theo nguyên tắc ngày cũng là một số)
Phạm Minh Tùng  /  at  2/19/2017 12:14:00 CH  /  No comments

- Ngày 19/02/2017: Nếu các bạn đã từng trộn thư ( dùng word lấy dữ liệu từ excel để in hàng loạt) thì các bạn chắc hẵn cũng rất bực bội bỡi kiểu dữ liệu ngày, nếu nó chưa được định dạng dưới dạng text thì khi sang word nó sẽ là một số nguyên ( bỡi theo nguyên tắc ngày cũng là một số)

Bài 35. Nói Hello World! theo cách của bạn

- Ngày 19/02/2017 : Hello World có lẻ là câu thông báo đầu tiên mà người nào mới chập chững học lập trình đề biết đến, nhưng nếu chúng ta viết msgbox "Hello World" thì quá đơn giản, hôm nay mình tìm thấy một sub rất là hay nên chia sẽ cùng các bạn
Phạm Minh Tùng  /  at  2/19/2017 11:55:00 SA  /  No comments

- Ngày 19/02/2017 : Hello World có lẻ là câu thông báo đầu tiên mà người nào mới chập chững học lập trình đề biết đến, nhưng nếu chúng ta viết msgbox "Hello World" thì quá đơn giản, hôm nay mình tìm thấy một sub rất là hay nên chia sẽ cùng các bạn

Recent Comments

Copyright © 2013 Excel Toàn Tập. WP Theme-junkie converted by Bloggertheme9
Blogger templates. Proudly Powered by Blogger.