tlthlnmtnn
Thành viên mới
- Tham gia
- 1/4/12
- Bài viết
- 37
- Được thích
- 2
Giúp em sửa lại đoạn code này tí
Code này nếu nhập số ở cột B nó sẽ + vào số ở cột B-1 và gán vào cột B, các cột C E D F G sẽ copy y chang từ dòng trên xuống, nhưng nó có nhược điểm nếu nhập số + khoảng trắng + chữ nó vẫn chạy, mà mình ko muốn nó chạy theo kiểu đó, xin giúp mình chỉnh lại nha.
có 3 điều mình không muốn nó chạy.
1: chỉ chạy trong giới hạn từ -9 đến 9, cao hơn ko chạy
2: nếu có khoảng trắng đằng sau số, cũng ko chạy
3: nếu có chữ đằng sau cũng sẽ ko chạy
VD của trường hợp 3: 123 AM
Ý tưởng của mình là thế này: khi nhập vào cột B, nó sẽ lấy từ phải qua 1 ký tự rồi so sánh với điều kiện
nếu có cách khác mà chạy tốt cũng đc
Thanks mọi người nhiều vì mình ko biết lập trình loại này nên mới phải nhờ hoài
Code này nếu nhập số ở cột B nó sẽ + vào số ở cột B-1 và gán vào cột B, các cột C E D F G sẽ copy y chang từ dòng trên xuống, nhưng nó có nhược điểm nếu nhập số + khoảng trắng + chữ nó vẫn chạy, mà mình ko muốn nó chạy theo kiểu đó, xin giúp mình chỉnh lại nha.
có 3 điều mình không muốn nó chạy.
1: chỉ chạy trong giới hạn từ -9 đến 9, cao hơn ko chạy
2: nếu có khoảng trắng đằng sau số, cũng ko chạy
3: nếu có chữ đằng sau cũng sẽ ko chạy
VD của trường hợp 3: 123 AM
Ý tưởng của mình là thế này: khi nhập vào cột B, nó sẽ lấy từ phải qua 1 ký tự rồi so sánh với điều kiện
nếu có cách khác mà chạy tốt cũng đc
Thanks mọi người nhiều vì mình ko biết lập trình loại này nên mới phải nhờ hoài
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.DisplayAlerts = FalseIf InStr(1, Target.Value, "/") > 0 Then Exit Sub
If Not Intersect(Range("B2:B1000"), Target) Is Nothing Then
If Target.Offset(-1).Value = "" Then Exit Sub
so = CDbl(Left(Target.Offset(-1).Value, InStr(1, Target.Offset(-1).Value, "/") - 1)) + Target.Value
chu = Right(Target.Offset(-1).Value, Len(Target.Offset(-1).Value) - InStr(1, Target.Offset(-1).Value, "/") + 1)
Target.Value = so & chu
Range("C" & Target.Row & ":G" & Target.Row).Value = Range("C" & Target.Row - 1 & ":G" & Target.Row - 1).Value
End If
Application.DisplayAlerts = True
End Sub
File đính kèm
Lần chỉnh sửa cuối: