Thay dấu ngăn cách sau chữ số hàng nghìn, hàng triệu, hàng tỷ trong Mail Merge (2 người xem)

  • Thread starter Thread starter Mewwo98
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Mewwo98

Học, học nữa, học quài luôn
Tham gia
23/1/25
Bài viết
9
Được thích
2
Giới tính
Nam
Chào các bác,
Em muốn mail merge số tiền từ file excel vào file word, nhưng muốn dùng dấu "." (chấm) thay cho dấu "," (phẩy) ngăn cách sau chữ số hàng nghìn, hàng triệu, hàng tỷ thì làm cách nào ạ. Vì theo quy định của pháp luật kế toán tại Việt Nam những dấu này phải được ngăn cách bằng dấu "." (chấm). Mong các cao nhân chỉ giúp ạ!!

1738746321288.png
 
Chào các bác,
Em muốn mail merge số tiền từ file excel vào file word, nhưng muốn dùng dấu "." (chấm) thay cho dấu "," (phẩy) ngăn cách sau chữ số hàng nghìn, hàng triệu, hàng tỷ thì làm cách nào ạ. Vì theo quy định của pháp luật kế toán tại Việt Nam những dấu này phải được ngăn cách bằng dấu "." (chấm). Mong các cao nhân chỉ giúp ạ!!

View attachment 306913
Thử tham khảo tại đây.
 
Do System đang dấu phảy hàng ngàn nên trong công thức dùng Excel phải 2 bước: Chuyển thành text #,###, sau đó SubStitute , thành .

=SUBSTITUTE(TEXT(A1,"#,###"),",",".")

1738771833578.png
 
Bạn mở Excel lên và vào Option thay đổi thiết lập dấu thập phân và dấu phân tách tại mục Use sytem separators

1738896021874.png

Tôi có viết hàm bổ trợ gộp dữ liệu sang Word, không biết bạn có thích sử dụng hàm không?
 
Lần chỉnh sửa cuối:
Bạn mở Excel lên và vào Option thay đổi thiết lập dấu thập phân và dấu phân tách tại mục Use sytem separators
Có vẻ nó hoạt động trong excel nhưng khi mail merge qua Word thì nó không hoạt động bác ạ
Bài đã được tự động gộp:

Tôi đang phân vân, liệu sửa option của Excel thì có tác dụng cho Word hay không. Bạn thử rồi cho biết kết quả nhé.
Không hoạt động trong word ạ
 
Chắc cần phải dùng VBA để thay thế sau khi update field, Word chỉ hỗ trợ định dạng dấu theo System
Không nên thay đổi thiết lập trong system
 
Bạn có thể chạy lệnh này sau khi update field

PHP:
Sub findAndReplaceDecimalSeparators()
  Dim a, f As Word.Field
  For Each f In ActiveDocument.Fields
    If f.Result Like "*#.#*[,.]#*" Then
    ElseIf f.Result Like "*#,###" Or f.Result Like "*#,#*.#*" Then
      With ActiveDocument.Range(f.Result.Start, f.Result.End)
        .TextRetrievalMode.IncludeFieldCodes = False
        .TextRetrievalMode.IncludeHiddenText = False
        With .Find
            .text = "."
            .Replacement.text = "$$$"
            .Execute Replace:=wdReplaceAll
            .text = ","
            .Replacement.text = "."
            .Execute Replace:=wdReplaceAll
            .text = "$$$"
            .Replacement.text = ","
            .Execute Replace:=wdReplaceAll
        End With
      End With
    End If
  Next
End Sub
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom