Lỗi thực hiện 2 code VBA

Liên hệ QC

lp0042019.dkdn

Thành viên mới
Tham gia
21/4/20
Bài viết
16
Được thích
2
Chào anh chị,
Mình có 2 code nhưng khi thực hiện mở ở sheet "T1" nó lại báo lỗi ( thực hiện riêng từng code thì không bị), mong anh chị giúp mình. Cảm ơn các anh chị.
 

File đính kèm

  • Loi-2VBA.xlsm
    36.1 KB · Đọc: 7
Thêm on next sume vào. quá đơn giản
 
Upvote 0
On Error Resume Next là câu lệnh chỉ bậy, bỡi dân đá cá lăn dưa!
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
'. . . . . . .'
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;
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ó.
 
Upvote 0
On Error Resume Next là câu lệnh chỉ bậy, bỡi dân đá cá lăn dưa!
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
'. . . . . . .'
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;
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ó.
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é
 
Upvote 0
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
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
là đang làm việc với trang tính 'DS-NV'

(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.
 
Upvote 0
On Error Resume Next là câu lệnh chỉ bậy, bỡi dân đá cá lăn dưa!
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
'. . . . . . .'
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;
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ó.

10 năm C++ rồi nha. Đừng dùng tự bậy nha Bác. mình đang test bạn ấy thế nào thôi. chứ thật ra không phải vậy
 
Upvote 0
Trình độ Xê cọng cọng trên 10 năm ấy so với Ti-Kiu-En (TQN) là thế nào?
(khong biết nhơn vật kia là ai thì đi tìm hiểu đi)
 
Upvote 0
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
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
là đang làm việc với trang tính 'DS-NV'

(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.
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é
 

File đính kèm

  • Loi-2VBA.xlsm
    36.9 KB · Đọc: 6
Upvote 0
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é
bạn nhúng code này vào CLass là chạy được nhé
1593850574372.png

Nếu không được chèn Code sau vào Thisbook. sau đó lưu dạng nhị phân

1593850674019.png
 
Upvote 0
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
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
là đang làm việc với trang tính 'DS-NV'

(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.
Nhờ bạn giúp mình với ạ.
 

File đính kèm

  • Loi-2VBA.xlsm
    36.9 KB · Đọc: 2
Upvote 0
Web KT

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

Back
Top Bottom