Sửa lỗi "Run -time error'1004': Method 'Range' of object '_worksheet' failed"

vananh

Yêu THVBA
Mình mới nhập môn VBA. Cả nhà giúp chỉ giúp mình lỗi đoạn code này với a.

Option Explicit
Sub Luuvaodata()
Dim lr As Long, i As Long
'Kiem tra dieu kien
For i = 5 To 17
If Shfrom.Range("F" & i).Value = False Then
MsgBox Shfrom.Range("H" & i).Value
Shfrom.Range("B" & i).Select
Exit Sub
End If
Next i
'Luu vao data
With shdata
lr = .Range("A" & Rows.Count).End(xlUp).Row + 1
Shfrom.Range("AA6:AM6").Copy 'copy
.Range("A" & lr).PasteSpecial xlPasteValues 'paste
Application.CutCopyMode = False
reset 'xoa nhap lai tu dau
MsgBox "Xong!"
Shfrom.Range("B5") = "=MAX('data Ke toan'!A1)+1"
.Range("B8") = "=IFERROR(VLOOKUP(B7;'danh sach'!$G$2:$H$259;2;0);"")"
End With

End Sub
Sub reset()
With Shfrom
.Range("b6;b16").ClearContents
.Range("B5") = "=MAX('data Ke toan'!A1)+1"
End With
End Sub
 

Thái Phúc

Yêu THVBA
Mình mới nhập môn VBA. Cả nhà giúp chỉ giúp mình lỗi đoạn code này với a.

Option Explicit
Sub Luuvaodata()
Dim lr As Long, i As Long
'Kiem tra dieu kien
For i = 5 To 17
If Shfrom.Range("F" & i).Value = False Then
MsgBox Shfrom.Range("H" & i).Value
Shfrom.Range("B" & i).Select
Exit Sub
End If
Next i
'Luu vao data
With shdata
lr = .Range("A" & Rows.Count).End(xlUp).Row + 1
Shfrom.Range("AA6:AM6").Copy 'copy
.Range("A" & lr).PasteSpecial xlPasteValues 'paste
Application.CutCopyMode = False
reset 'xoa nhap lai tu dau
MsgBox "Xong!"
Shfrom.Range("B5") = "=MAX('data Ke toan'!A1)+1"
Mã:
 .Range("B8") = "=IFERROR(VLOOKUP(B7;'danh sach'!$G$2:$H$259;2;0);"")"
Mã:
 .Range("B8") = "=IFERROR(VLOOKUP(B7;'danh sach'!$G$2:$H$259;2;0);"")"
End With

End Sub
Sub reset()
With Shfrom
.Range("b6;b16").ClearContents
.Range("B5") = "=MAX('data Ke toan'!A1)+1"
End With
End Sub
Không có file nhưng thấy code bạn chưa đúng 2 chỗ:
Mã:
 .Range("B8") = "=IFERROR(VLOOKUP(B7;'danh sach'!$G$2:$H$259;2;0);"")"
Sửa thành:
Mã:
 .Range("B8") = "=IFERROR(VLOOKUP(B7;'danh sach'!$G$2:$H$259;2;0);"""")"
Chỗ:
Mã:
 .Range("b6;b16").ClearContents
Sửa thành:
Mã:
 .Range("b6:b16").ClearContents
Còn bạn muốn sửa chính xác thì bạn nên gửi file lên nhé
 
Top