Dùng code nào để điều chỉnh format number trong regional and language option (1 người xem)

  • Thread starter Thread starter ST-Lu!
  • Ngày gửi Ngày gửi
Liên hệ QC

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

ST-Lu!

Love Wingchun
Tham gia
19/8/08
Bài viết
730
Được thích
546
Nghề nghiệp
Xích lô một thời
Xin anh chị chỉ giúp em đoạn code để điều chỉnh format number trong regional and language option khi open file

Cám ơn các Anh
 
Xin anh chị chỉ giúp em đoạn code để điều chỉnh format number trong regional and language option khi open file

Cám ơn các Anh
Có phải bạn muốn chỉnh lại dấu phân cách ngàn và dấu thập phân không?
Nếu đúng thế thì có cái này:
Application.ThousandsSeparator

Application.DecimalSeparator
 
Upvote 0
Có phải bạn muốn chỉnh lại dấu phân cách ngàn và dấu thập phân không?
Nếu đúng thế thì có cái này:
Application.ThousandsSeparator

Application.DecimalSeparator

Em chạy code bị sai hóa ra là tại một phần mềm của công ty. Khi mình open nó, nó điều chỉnh hết lại format trong regional, bực cái khi close nó không trả lại định dạng ban đầu--> làm cho những file chạy code của em sai be bét, bực quá

Giờ em muốn định dạng số kiểu như sau
1,145.23
khi mở file code có phải như này không?
PHP:
Private Sub Workbook_Open()
Application.ThousandsSeparator = ","
Application.DecimalSeparator = "."
End Sub

Cám ơn Thầy nhiều
 
Upvote 0
Thầy ơi, em làm thử không được

Giúp em với
 
Upvote 0
Thầy ơi, em làm thử không được

Giúp em với
Sao lại không được nhỉ?
Thử sub này xem
PHP:
Sub Test1()
  MsgBox Application.ThousandsSeparator
  MsgBox Application.DecimalSeparator
End Sub
Xong thử tiếp sub nữa
PHP:
Sub Test2()
  Application.ThousandsSeparator = ","
  Application.DecimalSeparator = "."
End Sub
2 thuộc tính này cho pháp Read/write
 
Upvote 0
Upvote 0
Sao lại không được nhỉ?
Thử sub này xem
PHP:
Sub Test1()
  MsgBox Application.ThousandsSeparator
  MsgBox Application.DecimalSeparator
End Sub
Xong thử tiếp sub nữa
PHP:
Sub Test2()
  Application.ThousandsSeparator = ","
  Application.DecimalSeparator = "."
End Sub
2 thuộc tính này cho pháp Read/write

Thầy xem bài 1 của em này
http://www.giaiphapexcel.com/forum/showthread.php?t=28102

vì dữ liệu em export từ hệ thống mạng set là 76.92 (dạng text), nếu trong regional format
PHP:
  Application.ThousandsSeparator = ","
  Application.DecimalSeparator = "."

file bài 1 chạy đúng ngay
--
Nhưng nếu trong regional format ngược lại
PHP:
  Application.ThousandsSeparator = "."
  Application.DecimalSeparator = ","

file trong bài 1 của em bị sai
---------------------------

Ý của em như sau:
: Khi mở một file excel có code em đặt trong thisworkbook, sự kiện open
PHP:
  Application.ThousandsSeparator = ","
  Application.DecimalSeparator = "."

nó tự điều chỉnh lại trong regional format trên....(hiện tại cách này em thấy ko được)


Thầy xem lại giúp em
 
Upvote 0
Thầy xem bài 1 của em này
http://www.giaiphapexcel.com/forum/showthread.php?t=28102

vì dữ liệu em export từ hệ thống mạng set là 76.92 (dạng text), nếu trong regional format
PHP:
  Application.ThousandsSeparator = ","
  Application.DecimalSeparator = "."
file bài 1 chạy đúng ngay
--
Nhưng nếu trong regional format ngược lại
PHP:
  Application.ThousandsSeparator = "."
  Application.DecimalSeparator = ","
file trong bài 1 của em bị sai
---------------------------

Ý của em như sau:
: Khi mở một file excel có code em đặt trong thisworkbook, sự kiện open
PHP:
  Application.ThousandsSeparator = ","
  Application.DecimalSeparator = "."
nó tự điều chỉnh lại trong regional format trên....(hiện tại cách này em thấy ko được)


Thầy xem lại giúp em
Chứ ý:
- Nếu dử liệu có trước thì dù ta có chỉnh lại Number Format trong Control Panel cũng chẳng ăn thua gì
Vậy tại sao bạn không chuyển Text sang Num trước
Chẳng hạn:
PHP:
Sub Test()
  With ActiveSheet.UsedRange
    .Value = .Value
  End With
End Sub
 
Upvote 0
PHP:
Sub Hang_nhap_Loc()
ActiveSheet.Select
  With ActiveSheet.UsedRange
    .Value = .Value
  End With
Application.ThousandsSeparator = ","
Application.DecimalSeparator = "."



End Sub

Kính thưa Thầy

Em thêm đoạn code trên lên đầu, kết quả mỹ mãn đến không ngờ.
Cám ơn Thầy nhiều nhiều.

Ở trên là áp dụng với sheet, còn áp dụng với Form mình làm tương tự được không?

Thầy giải thích giúp em đoạn code này

PHP:
   .Value = .Value

Em hiểu là chuyển về value nhưng bản chất nó thực hiện như nào ạh.
 
Lần chỉnh sửa cuối:
Upvote 0
Thầy giải thích giúp em đoạn code này

PHP:
   .Value = .Value
Em hiểu là chuyển về value nhưng bản chất nó thực hiện như nào ạh.
Đôi lúc test thử rồi rút ra kinh nghiệm thôi chứ có nhiều chổ tôi vẫn chưa rõ hết ý nghĩa
Có lẽ .Value = .Value nó gần giống cái này:
PHP:
Sub Test()
  Dim i As Long
  For i = 1 To 10
    Cells(i, 1).Value = Val(Cells(i, 1))
  Next
End Sub
Chuyển nó về đúng giá trị mà nó đang có
 
Upvote 0
Web KT

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

Back
Top Bottom