TÌM DÒNG CUỐI

Liên hệ QC

babygirl_8990

Thành viên mới
Tham gia
16/10/18
Bài viết
42
Được thích
0
Chào mọi người, em có 1 khó khăn khi lập mã code tìm dòng cuối
Mọi người sửa giúp em code sai ở đâu khi còn lại 1 dong chạy code bị lỗi đứng máy
Cảm ơn mọi người ạ
 

File đính kèm

  • TEST1.xlsm
    138.4 KB · Đọc: 18
Chào mọi người, em có 1 khó khăn khi lập mã code tìm dòng cuối
Mọi người sửa giúp em code sai ở đâu khi còn lại 1 dong chạy code bị lỗi đứng máy
Cảm ơn mọi người ạ
bạn thử sửa thành
Mã:
Sub TEST()
Dim dongcuoi As Long
With Sheets("TEST")
dongcuoi = Range("E2").End(xlDown).Row
'dongcuoi = .Cells(.Rows.Count, "C").End(xlUp).Row
'MsgBox (dongcuoi)

          
       Range("I1:k1").Select
       Selection.Copy
       Range("I2:I" & dongcuoi).Select
       Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
           SkipBlanks:=False, Transpose:=False
Range("E1").Select
       Application.CutCopyMode = False
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Chào mọi người, em có 1 khó khăn khi lập mã code tìm dòng cuối
Mọi người sửa giúp em code sai ở đâu khi còn lại 1 dong chạy code bị lỗi đứng máy
Cảm ơn mọi người ạ
Không sai gì :''" nhưng dòng cuối là một triệu mấy, làm thằng Excel calculating công thức ná thở. Mà thở không nổi thì nó nghỉ cho hết mệt
 
Upvote 0
Chào mọi người, em có 1 khó khăn khi lập mã code tìm dòng cuối
Mọi người sửa giúp em code sai ở đâu khi còn lại 1 dong chạy code bị lỗi đứng máy
Cảm ơn mọi người ạ
Bạn không nên dongcuoi = Range("E2").End(xlDown).Row, vì nếu E3 không có dữ liệu là dòng cuối là cuối bảng luôn đấy. nên dùng End(xlUp), thay E2 bằng E nào lớn lớn không có dữ liệu là được
 
Upvote 0
em muốn nhờ mọi người tìm dòng cuối và copy 100 dòng cuối cùng (từ dòng cuối ngược lên) bên sheet "nguồn" sang sheet "cần copy"
 

File đính kèm

  • DanhMucHoSo.xls
    186.5 KB · Đọc: 9
Upvote 0
em muốn nhờ mọi người tìm dòng cuối và copy 100 dòng cuối cùng (từ dòng cuối ngược lên) bên sheet "nguồn" sang sheet "cần copy"
Dùng thử Sub này coi sao:
PHP:
Public Sub s_Gpe()
Dim R As Long
    R = Sheet1.Range("B10000").End(xlUp).Row
    If R < 100 Then
        MsgBox "Khong tim du 100 dong.", , "GPE"
        Exit Sub
    Else
        Sheet1.Range("A" & R - 99 & ":G" & R).Copy Sheet2.Range("A2")
    End If
End Sub
 
Upvote 0
Dùng thử Sub này coi sao:
PHP:
Public Sub s_Gpe()
Dim R As Long
    R = Sheet1.Range("B10000").End(xlUp).Row
    If R < 100 Then
        MsgBox "Khong tim du 100 dong.", , "GPE"
        Exit Sub
    Else
        Sheet1.Range("A" & R - 99 & ":G" & R).Copy Sheet2.Range("A2")
    End If
End Sub
Nãy em vừa viết xong cái này:
Mã:
Sub copy100()
Dim Lr As Long
Sheet2.Range("A2").CurrentRegion.Clear
    With Sheet1
        Lr = .Range("B65536").End(xlUp).Row
        .Rows(1).Copy Sheet2.Rows(1)
        .Range("B" & (Lr - 99) & ":B" & Lr).EntireRow.Copy Sheet2.Rows("2:2")
    End With
End Sub
Viết xong thì thấy bác @Ba Tê có code rồi, nghiệm lại mới quên mất điều kiện "nhỡ file chưa đủ 100 dòng thì code mình sao nhỉ" :D
 
Upvote 0
anh em cho giải đáp giúp mình với:
mình học trên mạng được dòng lệnh này như khi test thử thì bị lỗi "RUN TIME ERROR '13': TYPE MISMATCH" nhưng không biết cách sửa ạ.
Function tim_dong_cuoi(sh As Worksheet, Col As String)
tim_dong_cuoi = sh.Range(Col & Rows.Count).End(xlUp).Row
End Function

mong anh em giúp với
 

File đính kèm

  • loi 13.jpg
    loi 13.jpg
    127 KB · Đọc: 28
Upvote 0
anh em cho giải đáp giúp mình với:
mình học trên mạng được dòng lệnh này như khi test thử thì bị lỗi "RUN TIME ERROR '13': TYPE MISMATCH" nhưng không biết cách sửa ạ.
Function tim_dong_cuoi(sh As Worksheet, Col As String)
tim_dong_cuoi = sh.Range(Col & Rows.Count).End(xlUp).Row
End Function

mong anh em giúp với
anh em cho giải đáp giúp mình với:
mình học trên mạng được dòng lệnh này như khi test thử thì bị lỗi "RUN TIME ERROR '13': TYPE MISMATCH" nhưng không biết cách sửa ạ.
Function tim_dong_cuoi(sh As Worksheet, Col As String)
tim_dong_cuoi = sh.Range(Col & Rows.Count).End(xlUp).Row
End Function

mong anh em giúp với
Sửa chỗ tham số thử: đừng ghi là Sheet13 mà là Sheets(tên Sheet) hoặc Sheets(chỉ số)
 
Upvote 0
Dùng hàm trong cửa sổ đó không được đâu. Nó có kết quả trả về nên phải gán vào biến hoặc vào cell.
Không phải lỗi đó đâu. Nó đã trả về kết quả cho hàm ? (print) rồi.
Lỗi ở đây là do hàm nằm trong sheet module. Bên ngoài module của sheet không thể "thấy" nó, muốn gọi nó phải có tiền tố sheet object
? Sheets("tên sheet chứa hàm").tim_dong_cuoi(Sheet(13),"a")
 
Upvote 0
Dùng hàm trong cửa sổ đó không được đâu. Nó có kết quả trả về nên phải gán vào biến hoặc vào cell.
dạ, khi nào em thêm vào trong bài luôn thì không chạy được ạ. đây là bài của em đang làm.
"Dim lr As Long
lr = tim_dong_cuoi(Sheet13, "a") + 1

'copy ngay nhan va ma
Sheet13.Range("a" & lr & "b5152") = _
Application.Transpose(nhapdulieu.Range("d3:d4"))"


em thử thì bị lỗi như hình ạ.
Do em tự học nên không biết rõ được ạ, chỉ tự học và làm theo các clip trên youtube nên còn gà mờ lắm ạ
 

File đính kèm

  • loi khi them vao.JPG
    loi khi them vao.JPG
    19.4 KB · Đọc: 6
Upvote 0
Không phải lỗi đó đâu. Nó đã trả về kết quả cho hàm ? (print) rồi.
Lỗi ở đây là do hàm nằm trong sheet module. Bên ngoài module của sheet không thể "thấy" nó, muốn gọi nó phải có tiền tố sheet object
? Sheets("tên sheet chứa hàm").tim_dong_cuoi(Sheet(13),"a")
Hóa ra là thế. Cảm ơn bác!
 
Upvote 0
Hóa ra là thế. Cảm ơn bác!
dạ, sao khi khởi động máy lại thì nó chạy được rồi ạ. thanks bác đã giúp đỡ
Bài đã được tự động gộp:

Không phải lỗi đó đâu. Nó đã trả về kết quả cho hàm ? (print) rồi.
Lỗi ở đây là do hàm nằm trong sheet module. Bên ngoài module của sheet không thể "thấy" nó, muốn gọi nó phải có tiền tố sheet object
? Sheets("tên sheet chứa hàm").tim_dong_cuoi(Sheet(13),"a")
em không hiểu nó sai thế nào nhưng mà khi khởi động máy lại thì nó đã chạy được rồi ạ. thanks bác đã giúp đỡ
 
Upvote 0
Web KT

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

Back
Top Bottom