lp0042019.dkdn
Thành viên mới
- Tham gia
- 21/4/20
- Bài viết
- 16
- Được thích
- 2
Bạn giúp mình với vì mình thêm On Error Resume Next vào thì thực hiện được nhưng bên sheet " DS-NV" lại bị xóa hết dữ liệu.Thêm on next sume vào. quá đơn giản
Sub DS()
Dim sArr(), tArr() As Date, Arr, Res(), S, iStr$
Dim eRow&, sRow&, t&, i&, N&, k&, j&, r&, stt&, Nam&, fMonth&, eMonth&
Dim fDay As Date, eDay As Date, fYear As Date, eYear As Date
' On Error Resume Next '
With Sheets("DS-NV")
Nam = Sheets("Thongtin").Range("C2").Value
End With
fYear = DateSerial(Nam, 1, 1): eYear = DateSerial(Nam, 12, 31)
With Sheets("DS-NV")
1 eRow = .Range("C" & Rows.Count).End(xlUp).Row
Arr = .Range("B5:K" & eRow).Value
.Range("B5:K" & eRow).Sort .Range("G5"), 1, .Range("C5"), , 1, Header:=xlNo
sArr = .Range("B5:K" & eRow).Value
.Range("B5:K" & eRow).Value = Arr
End With
'. . . . . . .'
Chào bạn. Bạn giúp mình với, thực ra những code này mình nhờ trên diễn đàn viết chứ mình cũng không rành về VBA, cảm ơn bạn nhéOn Error Resume Next là câu lệnh chỉ bậy, bỡi dân đá cá lăn dưa!
Bạn cần biết trị trong eRow chứa trang dòng lệnh có đánh số 1 là bao nhiêu không;PHP:Sub DS() Dim sArr(), tArr() As Date, Arr, Res(), S, iStr$ Dim eRow&, sRow&, t&, i&, N&, k&, j&, r&, stt&, Nam&, fMonth&, eMonth& Dim fDay As Date, eDay As Date, fYear As Date, eYear As Date ' On Error Resume Next ' With Sheets("DS-NV") Nam = Sheets("Thongtin").Range("C2").Value End With fYear = DateSerial(Nam, 1, 1): eYear = DateSerial(Nam, 12, 31) With Sheets("DS-NV") 1 eRow = .Range("C" & Rows.Count).End(xlUp).Row Arr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Sort .Range("G5"), 1, .Range("C5"), , 1, Header:=xlNo sArr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Value = Arr End With '. . . . . . .'
Nếu chưa biết thì xài MsgBox để biết.
(Nên vô hiệu hóa dòng lệnh On Error . . . nếu 1 khi ta chưa biết nhiều về nó.
With Sheets("DS-NV")
eRow = .Range("C" & Rows.Count).End(xlUp).Row
Arr = .Range("B5:K" & eRow).Value
.Range("B5:K" & eRow).Sort .Range("G5"), 1, .Range("C5"), , 1, Header:=xlNo
sArr = .Range("B5:K" & eRow).Value
.Range("B5:K" & eRow).Value = Arr
End With
On Error Resume Next là câu lệnh chỉ bậy, bỡi dân đá cá lăn dưa!
Bạn cần biết trị trong eRow chứa trang dòng lệnh có đánh số 1 là bao nhiêu không;PHP:Sub DS() Dim sArr(), tArr() As Date, Arr, Res(), S, iStr$ Dim eRow&, sRow&, t&, i&, N&, k&, j&, r&, stt&, Nam&, fMonth&, eMonth& Dim fDay As Date, eDay As Date, fYear As Date, eYear As Date ' On Error Resume Next ' With Sheets("DS-NV") Nam = Sheets("Thongtin").Range("C2").Value End With fYear = DateSerial(Nam, 1, 1): eYear = DateSerial(Nam, 12, 31) With Sheets("DS-NV") 1 eRow = .Range("C" & Rows.Count).End(xlUp).Row Arr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Sort .Range("G5"), 1, .Range("C5"), , 1, Header:=xlNo sArr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Value = Arr End With '. . . . . . .'
Nếu chưa biết thì xài MsgBox để biết.
(Nên vô hiệu hóa dòng lệnh On Error . . . nếu 1 khi ta chưa biết nhiều về nó.
Mình đã sửa lại file mới, nhưng mình không rõ vì sao khi thực hiện bị lỗi rồi nó tự xóa mất dữ liệu trên trang tính. Bạn giúp mình nhéKhi trang 'T1' được kích hoạt, ta đồng thời cho chạy macro 'DS'
Ở macro này tạm thời bạn cần vô hiệu hòa dòng lệnh On Error Resume Next đi (bằng 1 trong các cách nào đó)
Tiếp theo, trong khối các dòng lệnh
là đang làm việc với trang tính 'DS-NV'PHP:With Sheets("DS-NV") eRow = .Range("C" & Rows.Count).End(xlUp).Row Arr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Sort .Range("G5"), 1, .Range("C5"), , 1, Header:=xlNo sArr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Value = Arr End With
(Xin dừng lại 1 chút: Tên trang tính không nên chứa kí tự "-"; Nên là "_" hay bỏ nó đi)
(Tiện nói luôn: Tiêu đề cột dữ liệu hoàn toàn không nên trộn ô như thế; Nhất là bạn đang định chơi với macro)
Trở lại vấn đề: Trên trang tính này hiện tại bạn chỉ có dữ liệu tại cột 'K', còn các cột trước nó không có dữ liệu thì trách sao macro không báo lỗi. Bạn phải chịu khó thêm vô, chí ít là dữ liệu ma cũng được.
Xin chờ file mới của bạn ta sẽ tiếp tục.
Bạn ơi cái này mình không làm được rồi bạn ơi. Cảm ơn bạn nhébạn nhúng code này vào CLass là chạy được nhé
View attachment 240460
Nếu không được chèn Code sau vào Thisbook. sau đó lưu dạng nhị phân
View attachment 240461
Nhờ bạn giúp mình với ạ.Khi trang 'T1' được kích hoạt, ta đồng thời cho chạy macro 'DS'
Ở macro này tạm thời bạn cần vô hiệu hòa dòng lệnh On Error Resume Next đi (bằng 1 trong các cách nào đó)
Tiếp theo, trong khối các dòng lệnh
là đang làm việc với trang tính 'DS-NV'PHP:With Sheets("DS-NV") eRow = .Range("C" & Rows.Count).End(xlUp).Row Arr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Sort .Range("G5"), 1, .Range("C5"), , 1, Header:=xlNo sArr = .Range("B5:K" & eRow).Value .Range("B5:K" & eRow).Value = Arr End With
(Xin dừng lại 1 chút: Tên trang tính không nên chứa kí tự "-"; Nên là "_" hay bỏ nó đi)
(Tiện nói luôn: Tiêu đề cột dữ liệu hoàn toàn không nên trộn ô như thế; Nhất là bạn đang định chơi với macro)
Trở lại vấn đề: Trên trang tính này hiện tại bạn chỉ có dữ liệu tại cột 'K', còn các cột trước nó không có dữ liệu thì trách sao macro không báo lỗi. Bạn phải chịu khó thêm vô, chí ít là dữ liệu ma cũng được.
Xin chờ file mới của bạn ta sẽ tiếp tục.