babygirl_8990
Thành viên mới
- Tham gia
- 16/10/18
- Bài viết
- 42
- Được thích
- 0
bạn thử sửa thànhChà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 ạ
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
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ệtChà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à đượcChà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 ạ
Mình sửa lại chạy rất ok , cảm ơn mọi người nhiềuBạ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
Dùng thử Sub này coi sao: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"
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: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
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
cám ơn bác, chạy chuẩn rồi bác ạ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
Có thể dùng code sau khi đủ dữ liệu:cám ơn bác, chạy chuẩn rồi bác ạ
Sub Test()
Sheet1.Range("A" & Rows.Count).End(xlUp).Offset(-99).Resize(100, 8).Copy Sheet2.Range("A2")
End Sub
cảm ơn bác !Có thể dùng code sau khi đủ dữ liệu:
PHP:Sub Test() Sheet1.Range("A" & Rows.Count).End(xlUp).Offset(-99).Resize(100, 8).Copy Sheet2.Range("A2") End Sub
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ố)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
mình đã thử "?tim_dong_cuoi(Sheet(13),"a")" nhưng vẫn bị lỗi "sub or function"Sửa chỗ tham số thử: đừng ghi là Sheet13 mà là Sheets(tên Sheet) hoặc Sheets(chỉ số)
Không phải lỗi đó đâu. Nó đã trả về kết quả cho hàm ? (print) rồi.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.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.
Hóa ra là thế. Cảm ơn bác!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")
dạ, sao khi khởi động máy lại thì nó chạy được rồi ạ. thanks bác đã giúp đỡHóa ra là thế. Cảm ơn bác!
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 đỡ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")