Tuesday, 17 April 2018

How to filter and delete rows in excel vba

How to filter and delete rows in excel vba

Note -: Here we will discuss How to filter and delete rows in excel vba with log and error handling

OnErrorResumeNext
'vMasterFilePath=WScript.Arguments(0)
'vLogPath=WScript.Arguments(1)

vMasterFilePath="C:\Users\Dell\Desktop\AnilSingh\BPTestExcel.xlsx"
vLogPath="C:\Users\Dell\Desktop\AnilSingh\Log.txt"

SetobjFS=CreateObject("Scripting.FileSystemObject")
SetFSO_Handle=objFS.OpenTextFile(vLogPath,8,True)

SetobjExcel=CreateObject("Excel.Application")
objExcel.DisplayAlerts=False
objExcel.Visible=True
SetobjWorkbook1=objExcel.Workbooks.Open(vMasterFilePath)

'SetobjWorkbook1=objExcel.Workbooks.Open(vMasterFilePath)

FSO_Handle.WriteLine(Now&"=>ExcelOperation-:InputFile(MasterFile)  hasbeenopenedsuccessfully")
DimRowCount
objWorkbook1.Worksheets("Sheet1").Activate
FSO_Handle.WriteLine(Now&"=>ExcelOperation-:Sheet1hasbeenactivated")
RowCount=objWorkbook1.Worksheets("Sheet1").UsedRange.Rows.Count
AutoCloseMsgBox(RowCount)
'MsgBox(RowCount)
FSO_Handle.WriteLine(Now&"=>ExcelOperation-:TotalRowinExcelFileis"&RowCount)

SetrangDataSearch=objExcel.ActiveSheet.Range("D1:D"&RowCount)
SetrangData=objExcel.ActiveSheet.Range("A1:D"&RowCount)
firstAddress=Empty

WithrangDataSearch
Setc=.Find("Java")
IfNotcIsNothingThen
firstAddress=c.Address
EndIf
EndWith
MsgBox(firstAddress)

IffirstAddress<>EmptyThen
FSO_Handle.WriteLine(Now&"=>ExcelOperation-:FirstAddressofFilterDatais"&firstAddress)
WithrangData
.AutoFilter4,"Java"
.Select
'Deletethevisiblerowswhilekeepingtheheader
.Offset(1,0).Resize(.Rows.Count-1).SpecialCells(12).Rows.EntireRow.Delete
'.Resize(.Rows.Count-1).SpecialCells(12).Rows.EntireRow.Delete
EndWith

WithobjExcel.ActiveSheet
.AutoFilterMode=False
If.FilterMode=TrueThen
.ShowAllData
EndIf
EndWith
FSO_Handle.WriteLine(Now&"=>ExcelOperation-:Datahasbeendeletdsuccessfully")
  MsgBox("Datahasbeendeletdsuccessfully")
Else
FSO_Handle.WriteLine(Now&"=>ExcelOperation-:DataisNotFoundbecauseFilterDatafirstAddressvalueisblank")
MsgBox("DataisNotFound")
EndIf
objWorkbook1.Save
objWorkbook1.CloseTrue
objExcel.Quit
AutoCloseMsgBox("ExcelOperationActivityhasbeencompletedsuccessfully")
FSO_Handle.WriteLine(Now&"=>ExcelOperation-:Activityhasbeencompletedsuccessfully")

IfErr.Number<>0Then
FSO_Handle.WriteLine(Now&"|ExcelOperation|Error|"&Err.Number&"-:"&Err.Description)
AutoCloseMsgBox("Error")
WScript.StdOut.WriteLine"fail"
Else
WScript.StdOut.WriteLine"pass"
AutoCloseMsgBox("No  Error")
EndIf


'writeafunctionForautoclosemessagebox
FunctionAutoCloseMsgBox(msg)
CreateObject("Wscript.Shell").Popupmsg,1,"AutoClose",4+32
EndFunction


Log-:
Condition-1  (Data is available  in  excel)


4/18/2018 6:12:23 AM=> Excel Operation -:Input File(Master File)  has been opened successfully
4/18/2018 6:12:23 AM=> Excel Operation -: Sheet1 has been activated
4/18/2018 6:12:24 AM=> Excel Operation -: Total Row in ExcelFile is10
4/18/2018 6:12:27 AM=> Excel Operation -: First Address of Filter Data is $D$3
4/18/2018 6:12:27 AM=> Excel Operation -: Data has been deletd successfully
4/18/2018 6:12:30 AM=> Excel Operation-: Activity has been completed successfully
4/18/2018 6:25:48 AM=> Excel Operation -:Input File(Master File)  has been opened successfully

Condition-2  (Data is not available  in  excel)

4/18/2018 6:25:48 AM=> Excel Operation -: Sheet1 has been activated
4/18/2018 6:25:49 AM=> Excel Operation -: Total Row in ExcelFile is7
4/18/2018 6:25:54 AM=> Excel Operation -: Data is Not Found because Filter Data first Address value is blank
4/18/2018 6:25:57 AM => Excel Operation-: Activity has been completed successfully

Condition-3  (Error Handling)


4/18/2018 6:26:26 AM=> Excel Operation -:Input File(Master File)  has been opened successfully
4/18/2018 6:26:26 AM=> Excel Operation -: Sheet1 has been activated
4/18/2018 6:26:27 AM=> Excel Operation -: Total Row in ExcelFile is
4/18/2018 6:26:30 AM=> Excel Operation -: Data is Not Found because Filter Data first Address value is blank
4/18/2018 6:26:33 AM => Excel Operation-: Activity has been completed successfully
4/18/2018 6:26:33 AM | Excel Operation | Error | 424-:Object required

0 comments:

Post a Comment