Hỏi về thao tác trong exel? Ai biết giúp tôi với nhá?

Tôi đang gặp vấn đề như sau: Khi gõ một con số trong một ô của Excel thí dụ: 1.000VND thì sẽ có một ô tương ứng thể hiện bằng chữ là: (một ngàn đồng). Đã đọc ở đâu đó cách thể hiện này rồi nhưng bây giờ cần tới thì không biết làm. Nhờ các bạn giúp mình với... Cám ơn trước nhiều.
Trả lời 15 năm trước
Bạn có thể tìm thấy trong Giáo trình thực hành của tác giả Ông Văn Thông - Excel'97 nâng cao, phần hàm dịch chữ số ra tiếng Việt. Tuy nhiên trong Visual Basic Editor chỉ sử dụng được font VNI nên hơi bất tiện cho các bạn dùng font Unicode. Dưới đây là tóm tắt cách thực hiện hàm dịch ra tiếng Việt sử dụng trong User Defined của Excel 1. Mở bảng tính có số liệu cần dịch ra tiếng Việt, Gọi lệnh Tools - Macro - Visual Basic Editor, sau dó vào Insert - Module sẽ hiện ra cho bạn Module 1. 2. Từ Module 1, bạn đặt tên hàm: Insert – Procedure: bạn đặt tên VND và chọn Type: function; Scope: Public; - OK 3. Bạn chép lại nguyên bản hàm dịch ra tiếng Việt sau vào Module 1. 4. Thử lại: View – Immediate Window sẽ xuất hiện cửa số immediate. Bạn gõ ?VND(100) sẽ hiện ra “Một trăm đồng chẵn”. Đây là một macro nên khi mở lại cho lần sau thì Excel sẽ báo là có virus và bạn cần chọn là Enable thì hàm mới hoạt động được. Nếu không được bạn vào Tool – Macro – Security và chọn Low (not recommended) thì bảng tính mới hoạt động được. Chúc bạn thành công! Hàm dịch chữ số ra tiếng Việt: (viết với font VNI) Public Function VND(BaoNhieu) Dim KetQua, SoTien, Nhom, Chu, Dich, S1, S2, S3 As String Dim I, J, Vitri As Byte, S As Double Dim Hang, Doc, Dem If BaoNhieu = 0 Then KetQua = "Khoâng ñoàng" Else If Abs(BaoNhieu) >= 1E+15 Then '1E+15 töùc 1.000.000.000.000.000 töùc 1 trieäu tyû KetQua = "Soá quaù lôùn" Else If BaoNhieu < 0 Then KetQua = "Tröø" & Space(1) Else KetQua = Space(0) End If SoTien = Format(Abs(BaoNhieu), "##############0.00") '18 digit with 2 decimal SoTien = Right(Space(15) & SoTien, 18) Hang = Array("None", "traêm", "möôi", "gì ñoù") Doc = Array("None", "ngaøn tyû", "tyû", "trieäu", "ngaøn", "ñoàng", "xu") Dem = Array("None", "moät", "hai", "ba", "boán", "naêm", "saùu", "baûy", "taùm", "chín") For I = 1 To 6 Nhom = Mid(SoTien, I * 3 - 2, 3) If Nhom <> Space(3) Then Select Case Nhom Case "000" If I = 5 Then Chu = "ñoàng" & Space(1) Else Chu = Space(0) End If Case ".00" Chu = "chaün" Case Else S1 = Left(Nhom, 1) S2 = Mid(Nhom, 2, 1) S3 = Right(Nhom, 1) Chu = Space(0) Hang(3) = Doc(I) For J = 1 To 3 Dich = Space(0) S = Val(Mid(Nhom, J, 1)) If S > 0 Then Dich = Dem(S) & Space(1) & Hang(J) & Space(1) End If Select Case J Case 2 And S = 1 Dich = "möôøi" & Space(1) Case 3 And S = 0 And Nhom <> Space(2) & "0" Dich = Hang(J) & Space(1) Case 3 And S = 5 And S2 <> Space(1) & S2 <> "0" Dich = "l" & Mid(Dich, 2) 'kyù töï en lôø Case 2 And S = 0 And S3 <> "0" If (S1 >= "1" And S1 <= "9") Or (S1 = 0 And I = 4) Then Dòch = "leû" & Space(1) End If End Select Chu = Chu & Dich Next J End Select Vitri = InStr(1, Chu, "möôi moät", 1) If Vitri > 0 Then Mid(Chu, Vitri, 9) = "möôi moát" KetQua = KetQua & Chu End If Next I End If End If VND = UCase(Left(KetQua, 1)) & Mid(KetQua, 2) End Function