Any idea of why my code gets run-time- error '1004' Application-defined of object defined error?
I'm on my way to copy and paste data on a visible cell only. But I got stuck started from this line:
It get stuck at the
Sheets(targetSheet).Range("E2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Function GetTheLastRow(sheetName As String) As Long
'Function untuk mendapatkan row terakhir dalam sheet
Dim sheetTarget As Worksheet
Dim lastRow As Integer
Dim wb As Workbook: Set wb = ThisWorkbook
Set sheetTarget = wb.Sheets("Existing")
lastRow = sheetTarget.Cells(sheetTarget.Rows.Count, 1).End(xlUp).Row
GetTheLastRow = lastRow
End Function
Sub CopyVisibleOnly()
' Sub untuk melakukan copy only visible value
Dim sourceSheet As String, targetSheet As String
Dim lastRowSourceSheet As Long
Set wb = ThisWorkbook
sourceSheet = "Existing"
targetSheet = "TTD"
lastRowSourceSheet = GetTheLastRow(sourceSheet)
Sheets(sourceSheet).Range("A2:AG" & lastRowSourceSheet).AutoFilter field:=12, Criteria1:="<>"
Sheets(sourceSheet).Range("A2:AG" & lastRowSourceSheet).AutoFilter field:=13, Criteria1:="<>"
Sheets(sourceSheet).Range("A2:A" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("E2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(sourceSheet).Range("B2:B" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("F2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(sourceSheet).Range("F2:F" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("G2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(sourceSheet).Range("N2:N" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("H2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(sourceSheet).Range("P2:P" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("I2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(sourceSheet).Range("Q2:Q" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("J2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(sourceSheet).Range("O2:O" & lastRowSourceSheet).SpecialCells(xlCellTypeVisible).Copy
Sheets(targetSheet).Range("K2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
End Sub
Copy Filtered Data