Chuyển định dạng ngày tháng bằng dấu "." Qua dấu "/" bằng ngôn ngữ vba

tdnhandno

Thành viên mới
Tham gia ngày
10 Tháng ba 2016
Bài viết
29
Được thích
0
Điểm
163
Tuổi
29
Phần mềm công ty e khi xuất ra ngày tháng là dấu "." Ví dụ: 01.01.2019
E muốn chuyển dấu "." Qua "/" ví dụ: 01/01/2019
Mong mọi người giúp đỡ ạ
 

File đính kèm

batman1

Thành viên gắn bó
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,930
Được thích
3,021
Điểm
360
Bạn đừng cứng nhắc chuyện dấu "/". Mục đích là chuyển về ngày tháng, bất luận nó dùng dấu gì.
Chọn cột A -> thẻ Data -> Text to columns -> Next -> Next -> chọn option Date -> bên cạnh chọn DMY -> Finish
 

phulien1902

GPE - My love
Tham gia ngày
6 Tháng bảy 2013
Bài viết
3,100
Được thích
3,675
Điểm
560
Nơi ở
Hải Phòng
Phần mềm công ty e khi xuất ra ngày tháng là dấu "." Ví dụ: 01.01.2019
E muốn chuyển dấu "." Qua "/" ví dụ: 01/01/2019
Mong mọi người giúp đỡ ạ
Bạn thử:
PHP:
Sub test()
    Dim Rng As Range, Cll As Range
    Set Rng = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
    Rng.Select
    For Each Cll In Rng
        Cll = WorksheetFunction.Substitute(Cll.Value, ".", "/")
    Next Cll
End Sub
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,002
Được thích
7,745
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Phần mềm công ty e khi xuất ra ngày tháng là dấu "." Ví dụ: 01.01.2019
E muốn chuyển dấu "." Qua "/" ví dụ: 01/01/2019
Mong mọi người giúp đỡ ạ
Người sử dụng Phần mềm của công ty nhập liệu lung tung quá, lúc thì ngày trước, lúc thì tháng trước, cách tốt nhất là sử dụng VBA:
Do bạn đưa dữ liệu không đúng với vị trí cột do phần mềm xuất ra, nên tôi xử lý ở cột B (trừ hao cột TT). Bạn Copy dữ liệu và Paste vào B4 trở xuống rồi nhấn nút.
 

File đính kèm

LamNA

Thành viên tiêu biểu
Tham gia ngày
3 Tháng sáu 2014
Bài viết
757
Được thích
585
Điểm
560
Nơi ở
Sóc Trăng
Phần mềm công ty e khi xuất ra ngày tháng là dấu "." Ví dụ: 01.01.2019
E muốn chuyển dấu "." Qua "/" ví dụ: 01/01/2019
Mong mọi người giúp đỡ ạ
Nếu dùng VBA bạn có thể record macro sẽ được đoạn sau
Mã:
Sub Chuyen()
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 4), TrailingMinusNumbers:=True
End Sub
 

File đính kèm

leonguyenz

Thành viên mới
Tham gia ngày
2 Tháng tám 2010
Bài viết
4,185
Được thích
7,394
Điểm
560
Nơi ở
#REF
Thử vậy xem:
Mã:
Function Test(Cel As Range) As Date
    Test = CDate(Replace(Cel.Value, ".", "/"))
End Function
Công thức B1: =Test(A1), định dạng lại ngày tháng.
 

tdnhandno

Thành viên mới
Tham gia ngày
10 Tháng ba 2016
Bài viết
29
Được thích
0
Điểm
163
Tuổi
29
Bạn đừng cứng nhắc chuyện dấu "/". Mục đích là chuyển về ngày tháng, bất luận nó dùng dấu gì.
Chọn cột A -> thẻ Data -> Text to columns -> Next -> Next -> chọn option Date -> bên cạnh chọn DMY -> Finish
Ko phải bạn à. Mình muốn chuyển qua "/" để đối chiều với số liệu theo dõi. Như vậy mới chạy được. Vì số liệu theo dõi chạy "/"
 

ThangCuAnh

Mới học Ét xeo
Tham gia ngày
1 Tháng mười hai 2017
Bài viết
699
Được thích
566
Điểm
360
Nơi ở
Phờ lây cu
Phương án của tui, dùng công thức: B1 =Substitute(A1, ".", "/")
1 rừng phương án rồi đó, chọn 1 cái đi, cái nào cũng được, hì hì.
 

batman1

Thành viên gắn bó
Tham gia ngày
8 Tháng chín 2014
Bài viết
1,930
Được thích
3,021
Điểm
360
Ko phải bạn à. Mình muốn chuyển qua "/" để đối chiều với số liệu theo dõi. Như vậy mới chạy được. Vì số liệu theo dõi chạy "/"
Dữ liệu là ngày tháng thì phải chuyển về ngày tháng. Dữ liệu phải chuẩn. Ngược lại thì chữa cháy dài dài, vd. ở chỗ khác nó lại là ngày tháng thì so sánh bằng niềm tin? Tương lai cần tính toán thì làm sao tính được?

Dữ liệu gốc và mọi dữ liệu khác cần tính toán, so sánh, phải ở dạng ngày tháng, nếu cần thì phải đưa về ngày tháng. Kiểu làm như bạn không chỉ sửa dài dài những lúc khác mà còn là kiểu làm việc "một mình tôi một hòn đảo, một túp lều.

Khi bạn có đối tác là tôi thì chuyển sang 01.03.2019, 2019.03.01, 01/03/2019, 2019/03/01, 01-03-2019 thì chúng đều là text cả. Vì thiết lập của Ba Lan là 2019-03-01. Tôi, đối tác của bạn sẽ bó tay.

Bạn làm như tôi (Text to columns) sẽ có ngày tháng, vd. 01/01/2019. Bạn gửi cho tôi tập tin và tôi cũng làm y hệt thì tôi cũng có ngày tháng nhưng là 2019-01-01.
Bạn mở tập tin trên máy mình và nhìn thấy 01/01/2019. Bạn gửi tập tin cho đối tác, đối tác mở và nhìn thấy 2019-01-01. Vì chỗ đó là ngày tháng thực sự nên Excel hiển thị trên mỗi máy đúng theo thiết lập trong Control Panel. Thế chẳng tuyệt vời sao?

Nhưng kiểu làm việc cháy tới đâu chữa tới đó là quyền của mỗi người.
 
Lần chỉnh sửa cuối:
Top Bottom