Nên sửa code như thế nào để không bị lỗi (3 người xem)

Liên hệ QC

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

thanhtamnguyen2104

Thành viên mới
Tham gia
13/10/14
Bài viết
35
Được thích
0
Hi all,
em có code như sau
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Sheets("m").Select
Sheets("m").Copy Before:=Sheets(1)
Range("A9").Select
ActiveSheet.PasteSpecial Format:="Unicode Text", Link:=False, _
DisplayAsIcon:=False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlHairline
End With
Range("A6:L6").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
e copy dữ liệu trong phần mềm ra thì past dạng unicode text thì ngày tháng bị lỗi. ví dụ như sau

dữ liệu gốc là : ngày 03/04/2015 thì chuyển thànhg ngày 04/03/2015. đối với ngày dạng 23/03/2015 thì chuyển sang vẫn giữa nguyên là 23/03/2015. Mong các pro chỉ giáo
 
(2) Dữ liệu gốc là : ngày 03/04/2015 thì chuyển thành ngày 04/03/2015.
(1) Đối với ngày dạng 23/03/2015 thì chuyển sang vẫn giữa nguyên là 23/03/2015.

Ở trường hợp (1), Excel của bạn nó cho là dữ liệu của bạn có kiểu chuỗi '13/12/2011';
Còn ở trường hợp (2) thì nó cho ra số liệu ngày tháng theo hệ Mĩ

Với mình trong những trường hợp này cần fải xử lí trong excel bằng hàm nào đó; Không thể định dạng là xong đâu

Bạn thử cách này xem (vì bạn không đưa file lên):

Ở cột trống nào đó bạn gõ hàm =Month([Ô Dữ liệu kiểu ngày])
Nếu ở hàng nào trong cột này không báo lỗi thì ta viết 1 hàm khác để E. hiểu & sửa lại là ngày hệ Fáp
Còn hàng nào báo lỗi thì viết 1 hàm khác để chỉnh lại ngày;

Trong mọi trường hợp mình khuyên bạn xài ngày-tháng-năm theo hệ Mĩ (nhưng định dạng theo hệ Fáp cho dễ nhìn)
 
Upvote 0
Ở trường hợp (1), Excel của bạn nó cho là dữ liệu của bạn có kiểu chuỗi '13/12/2011';
Còn ở trường hợp (2) thì nó cho ra số liệu ngày tháng theo hệ Mĩ

Với mình trong những trường hợp này cần fải xử lí trong excel bằng hàm nào đó; Không thể định dạng là xong đâu

Bạn thử cách này xem (vì bạn không đưa file lên):

Ở cột trống nào đó bạn gõ hàm =Month([Ô Dữ liệu kiểu ngày])
Nếu ở hàng nào trong cột này không báo lỗi thì ta viết 1 hàm khác để E. hiểu & sửa lại là ngày hệ Fáp
Còn hàng nào báo lỗi thì viết 1 hàm khác để chỉnh lại ngày;

Trong mọi trường hợp mình khuyên bạn xài ngày-tháng-năm theo hệ Mĩ (nhưng định dạng theo hệ Fáp cho dễ nhìn)
mình thử thì khi dùng hàm month nó ra ntn
[TABLE="width: 77"]
[TR]
[TD]28/06/2014[/TD]
[/TR]
[TR]
[TD]30/06/2014[/TD]
[/TR]
[TR]
[TD]30/06/2014[/TD]
[/TR]
[TR]
[TD]26/07/2014
dãy trên chuyển thành khi dùng hàm month
[TABLE="width: 77"]
[TR]
[TD]06/01/1900[/TD]
[/TR]
[TR]
[TD]06/01/1900[/TD]
[/TR]
[TR]
[TD]06/01/1900[/TD]
[/TR]
[TR]
[TD]07/01/1900[/TD]
[/TR]
[/TABLE]

[/TD]
[/TR]
[/TABLE]
 
Upvote 0
mình thử thì khi dùng hàm month nó ra ntn
[TABLE="width: 77"]
[TR]
[TD]28/06/2014[/TD]
[/TR]
[TR]
[TD]30/06/2014[/TD]
[/TR]
[TR]
[TD]30/06/2014[/TD]
[/TR]
[TR]
[TD]26/07/2014
dãy trên chuyển thành khi dùng hàm month
[TABLE="width: 77"]
[TR]
[TD]06/01/1900[/TD]
[/TR]
[TR]
[TD]06/01/1900[/TD]
[/TR]
[TR]
[TD]06/01/1900[/TD]
[/TR]
[TR]
[TD]07/01/1900[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]

ra vậy là điều đáng mừng
06/01/1900 chính là 6
7/1/1900 chính là 7
 
Upvote 0
ra vậy là điều đáng mừng
06/01/1900 chính là 6
7/1/1900 chính là 7
uhm, do mình dể định dạng ngày tháng nên ra vậy. chắc tối bác nào teamview hộ em xíu. vì e copy từ phần mềm 3TSoft, rùi mới chạy marco paste unicode text vô excel. Tất cả các ngày trong 3T dạng 03/04/2015 thì sẽ bị chuyển hết sang 04/03/2015
 
Upvote 0
Web KT

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

Back
Top Bottom