LợiSeven

Giao lưu - học hỏi

Responsive Ads Here

Thứ Hai, 7 tháng 2, 2022

Chuyển Đổi Số Thành Chữ Trong Excel Bằng Macro

Chuyển Đổi Số Thành Chữ Trong Excel Bằng Macro


Nhấn phím tắt Alt + F11 để gọi chương trình Micosoft Visual Basic Applications.

Vào Insert - Module


Dán code bên dưới vào khung soạn thảo

Function DocSoVni(conso) As String
s09 = Array("", " moät", " hai", " ba", " boán", " naêm", " saùu", " baûy", " taùm", " chín")
lop3 = Array("", " trieäu", " nghìn", " tyû")
If Trim(conso) = "" Then
DocSoVni = ""
ElseIf IsNumeric(conso) = True Then
If conso < 0 Then dau = "aâm " Else dau = ""
conso = Application.WorksheetFunction.Round(Abs(conso), 0)
conso = " " & conso
conso = Replace(conso, ",", "", 1)
vt = InStr(1, conso, "E")
If vt > 0 Then
sonhan = Val(Mid(conso, vt + 1))
conso = Trim(Mid(conso, 2, vt - 2))
conso = conso & String(sonhan - Len(conso) + 1, "0")
End If
conso = Trim(conso)
sochuso = Len(conso) Mod 9
If sochuso > 0 Then conso = String(9 - (sochuso Mod 12), "0") & conso
docso = ""
i = 1
lop = 1
Do
n1 = Mid(conso, i, 1)
n2 = Mid(conso, i + 1, 1)
n3 = Mid(conso, i + 2, 1)
baso = Mid(conso, i, 3)
i = i + 3
If n1 & n2 & n3 = "000" Then
If docso <> "" And lop = 3 And Len(conso) - i > 2 Then s123 = " tyû" Else s123 = ""
Else
If n1 = 0 Then
If docso = "" Then s1 = "" Else s1 = " khoâng traêm"
Else
s1 = s09(n1) & " traêm"
End If
If n2 = 0 Then
If s1 = "" Or n3 = 0 Then
s2 = ""
Else
s2 = " linh"
End If
Else
If n2 = 1 Then s2 = " möôøi" Else s2 = s09(n2) & " möôi"
End If
If n3 = 1 Then
If n2 = 1 Or n2 = 0 Then s3 = " moät" Else s3 = " moát"
ElseIf n3 = 5 And n2 <> 0 Then
s3 = " laêm"
Else
s3 = s09(n3)
End If
If i > Len(conso) Then
s123 = s1 & s2 & s3
Else
s123 = s1 & s2 & s3 & lop3(lop)
End If
End If
lop = lop + 1
If lop > 3 Then lop = 1
docso = docso & s123
If i > Len(conso) Then Exit Do
Loop
If docso = "" Then DocSoVni = "khoâng" Else DocSoVni = dau & Trim(docso)
Else
DocSoVni = conso
End If
End Function
Function DocSoUni(conso) As String
s09 = Array("", " m" & ChrW(7897) & "t", " hai", " ba", " b" & ChrW(7889) & "n", " n" & ChrW(259) & "m", " s" & ChrW(225) & "u", " b" & ChrW(7843) & "y", " t" & ChrW(225) & "m", " ch" & ChrW(237) & "n")
lop3 = Array("", " tri" & ChrW(7879) & "u", " ngh" & ChrW(236) & "n", " t" & ChrW(7927))
'Stop
If Trim(conso) = "" Then
DocSoUni = ""
ElseIf IsNumeric(conso) = True Then
If conso < 0 Then dau = ChrW(226) & "m " Else dau = ""
conso = Application.WorksheetFunction.Round(Abs(conso), 0)
conso = " " & conso
conso = Replace(conso, ",", "", 1)
vt = InStr(1, conso, "E")
If vt > 0 Then
sonhan = Val(Mid(conso, vt + 1))
conso = Trim(Mid(conso, 2, vt - 2))
conso = conso & String(sonhan - Len(conso) + 1, "0")
End If
conso = Trim(conso)
sochuso = Len(conso) Mod 9
If sochuso > 0 Then conso = String(9 - (sochuso Mod 12), "0") & conso
docso = ""
i = 1
lop = 1
Do
n1 = Mid(conso, i, 1)
n2 = Mid(conso, i + 1, 1)
n3 = Mid(conso, i + 2, 1)
baso = Mid(conso, i, 3)
i = i + 3
If n1 & n2 & n3 = "000" Then
If docso <> "" And lop = 3 And Len(conso) - i > 2 Then s123 = " t" & ChrW(7927) Else s123 = ""
Else
If n1 = 0 Then
If docso = "" Then s1 = "" Else s1 = " kh" & ChrW(244) & "ng tr" & ChrW(259) & "m"
Else
s1 = s09(n1) & " tr" & ChrW(259) & "m"
End If
If n2 = 0 Then
If s1 = "" Or n3 = 0 Then
s2 = ""
Else
s2 = " linh"
End If
Else
If n2 = 1 Then s2 = " m" & ChrW(432) & ChrW(7901) & "i" Else s2 = s09(n2) & " m" & ChrW(432) & ChrW(417) & "i"
End If
If n3 = 1 Then
If n2 = 1 Or n2 = 0 Then s3 = " m" & ChrW(7897) & "t" Else s3 = " m" & ChrW(7889) & "t"
ElseIf n3 = 5 And n2 <> 0 Then
s3 = " l" & ChrW(259) & "m"
Else
s3 = s09(n3)
End If
If i > Len(conso) Then
s123 = s1 & s2 & s3
Else
s123 = s1 & s2 & s3 & lop3(lop)
End If
End If
lop = lop + 1
If lop > 3 Then lop = 1
docso = docso & s123
If i > Len(conso) Then Exit Do
Loop
If docso = "" Then DocSoUni = "kh" & ChrW(244) & "ng" Else DocSoUni = dau & Trim(docso)
Else
DocSoUni = conso
End If
End Function

Save và turn off cửa sổ Microsoft Visual Basic

Hàm đổi số thành chữ

=DocSoUni(A1) hoặc =DocSoVni(A1)

Xong

Thứ Bảy, 8 tháng 1, 2022

Sử dụng Hàm Unique Cho Các Phiên Bản trước Office 2016

Sử dụng Hàm Unique Cho Các Phiên Bản trước Office 2016

Hàm Unique dành cho những phiên bản office thấp như là office 2007, 2010, 2013, 2016

nhấn phím tắt Alt + F11 để gọi chương trình Micosoft Visual Basic Applications.

Vào Insert - Module


Dán code bên dưới vào khung soạn thảo

Function UNIQUES(rng As Range) As Variant()
Dim list As New Collection
Dim Ulist() As Variant
On Error Resume Next
For Each Value In rng
List.Add CStr(Value), CStr(Value)
Next
On Error GoTo 0
ReDim Ulist(list.Count - 1, 0)
For i = 0 To list.Count - 1
Ulist(i, 0) = list(i + 1)
Next
UNIQUES = Ulist
End Function

Quay lại file excel lúc nãy, các bạn gõ vào ô C2  là =UNIQUES
=UNIQUE(array, by_col, occurs_once)
array: Là một vùng, cột hoặc hàng mà bạn cần lọc ra những giá trị duy nhất.

Chú Ý
Nếu các bạn sử dụng phiên bản office từ 2016 trở về trước thì bạn phải bôi chọn các ô mà bạn muốn kết quả hiển thị lên đó trước sau đó mới nhập công thức và kết thúc bằng phím CTRL+SHIFT+ENTER thì công thức mới hoạt động, cụ thể ở ví dụ trên các bạn bôi chọn từ ô C2 đến ô C7 sau đó nhấn F2 và gõ công thức sau đó nhấn CTRL+SHIFT+ENTER để kết thúc, bạn cũng có thể chọn nhiều ô hơn và nếu kết quả trả về là #N/A nghĩa là giá trị duy nhất là những kết quả có ở phía trên, nếu không hiển thị #N/A thì các bạn có thể chọn nhiều ô hơn để khỏi bị sót.

Thứ Ba, 14 tháng 9, 2021

Tự Động Tô Màu Dòng Cột Theo Con Trỏ Chuột

 

Tự Động Tô Màu Dòng Cột Theo Con Trỏ Chuột

Đầu tiên bạn bôi đen vùng dữ liệu sau đó kích vào Home chọn Conditional Formating -> Chọn New Rule.

chọn điều kiện

Tiếp theo cửa sổ mới hiện ra bạn chọn dòng Use a formula to determine which cells to format trong ô Format bạn nhập =Row()=Cell("Row") -> chọn Format -> cửa sổ mới hiện ra bạn chọn Fill chọn màu -> ok.

chọn màu

Bây giờ màu đã được tô theo một dòng nhưng khi bạn kích vào dòng khác thì nó chưa nhảy theo bạn có thể bấm F9 để nó chuyển đến nhưng tốn nhiều thời gian để làm tự động nhảy theo con trỏ chuột ta tiếp tục.

Kích chuột phải vào phía dưới Sheet -> chọn view code cửa sổ hiện lên bạn copy phần code bên dưới bỏ vào. Như vậy bây giờ bạn kích đến hàng nào thì hàng ấy đã đổi màu.

Code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub

code đổi màu

Tô màu chọn theo cột

Để tô màu theo cột bạn cũng làm như tô màu theo hàng chỉ cần thay công thức. Đầu tiên bạn cũng vào Home chọn Conditional Formating -> Chọn New Rule. Cửa sổ mới hiện ra bạn chọn dòng Use a formula to determine which cells to format trong ô Format bạn nhập =Column()=Cell("col") -> chọn Format -> cửa sổ mới hiện ra bạn chọn Fill chọn màu -> ok.

tô màu cột

Như vậy bây giờ bạn kích tới đau thì cột và dòng được tô màu đến đó.

Tô màu theo ô

Bây giờ mình tô màu ô nữa là hoàn thành Đầu tiên bạn cũng vào Home chọn Conditional Formating -> Chọn New Rule. Cửa sổ mới hiện ra bạn chọn dòng Use a formula to determine which cells to format trong ô Format bạn nhập =and(Row()=Cell("Row"),Column()=Cell("col")) -> chọn Format -> cửa sổ mới hiện ra bạn chọn Fill chọn màu -> ok.

tô màu ô

Như vậy bây giờ bạn kích vào ô nào thì màu của ô, hàng và cột để đổi màu rất trực quan cho bạn quản lý.

kết quả

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

Xóa Các Ô dữ liệu Trong Excel

Áp Dụng Một Nút Để Xóa Nội Dung Ô Cụ Thể Bằng Mã VBA

1. Nhấp chuột Chèn > Hình dạng > Hình chữ nhật để chọn hình chữ nhật, sau đó kéo chuột để vẽ một nút hình chữ nhật ở bất kỳ vị trí nào của trang tính khi bạn cần, xem ảnh chụp màn hình:

nút doc xóa các ô 1

2. Sau đó nhập văn bản và định dạng nút hình dạng khi bạn cần, xem ảnh chụp màn hình:

nút doc xóa các ô 2

3. Và sau đó bạn nên chèn mã VBA, vui lòng nhấn giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Xóa nội dung ô khỏi các ô cụ thể:

1
2
3
4
5
6
Sub Clearcells()
'Updateby Extendoffice
Range("A2""A5").Clear
Range("C10""D18").Clear
Range("B8""B12").Clear
End Sub

Chú thích: Trong đoạn mã trên: A2, A5 cho biết nó sẽ xóa các ô trong phạm vi A2: A5, không chỉ hai ô riêng lẻ, bạn có thể thêm nhiều phạm vi, chẳng hạn như Phạm vi ("B8", "B12"). Xóa tập lệnh trong mã để xóa.

4. Sau đó, lưu và đóng cửa sổ mã, sau đó liên kết mã với nút hình dạng, bấm chuột phải vào nút và chọn Chỉ định Macro, Trong Chỉ định Macro hộp thoại, chọn Clearcells tên mã từ Tên macro hộp danh sách và nhấp vào OK để thoát khỏi hộp thoại này. Xem ảnh chụp màn hình:

nút doc xóa các ô 3

5. Và bây giờ, khi bạn nhấp vào Làm sạch tất cả , các ô cụ thể bạn đã xác định sẽ bị xóa ngay lập tức, xem ảnh chụp màn hình:

nút doc xóa các ô 4

Thứ Tư, 13 tháng 1, 2021

SỬ DỤNG DẤU PHÂN CÁCH TRONG WORD

 

SỬ DỤNG DẤU PHÂN CÁCH TRONG WORD


Bước 1: Kiểm tra định dạng dấu chấm, dấu phẩy trong Control Panel > Region > Additional settings…

Chỉnh sửa định dạng để tiến hành sửa Mail Merge
Chỉnh sửa định dạng để tiến hành sửa Mail Merge.

Bước 2: Click chuột phải vào số, chọn Edit Field… (như hình bên dưới)

Chọn Edit Field
Bước 2 chọn Edit Field của Merge Mail.

Bước 3: Ở ô cửa sổ Field hiện ra ấn nút Field Codes.

Chọn field codes trong Mail Merge
Chọn field codes trong cửa sổ Field hiện ra.

Bước 4: Tại ô Field Codes, thêm đoạn code sau vào sau đoạn chữ có sẵn: \#.###.##0 . Trong ví dụ bên dưới thì cả đoạn code sẽ là: MERGEFIELD Số_tiền\#.###.##0

– Nếu bạn sử dụng dấu “,” là dấu phân cách hàng ngàn, bạn thay dấu chấm bên trên bằng dấu phẩy. Ví dụ: MERGEFIELD Số_tiền\#,###,##0

– Nếu bạn có thêm chữ số thập phân thì thêm đoạn code sau: \#.###.##0,00

– Bạn có thể thêm đơn vị tiền tệ phía sau bằng cách thêm vào phía sau: \#.###.##0vnđ

Ô field codes
Ô field codes sẽ hiển thị như ảnh trên.

Bước 5: Xem lại thành quả.

Thành quả sau khi sử dụng Mail Merge