Page 1 of 1

Delete rows in spreadsheet that are not needed

Posted: Mon Oct 03, 2011 11:28 am
by dwinn86

Hi everyone,

 

I am not sure if I am in the correct forum so here goes.

 

I am trying to write a program in VBA that grabs a spreadsheet from my computers desktop, opens the spreadsheet, looks at a particular column and loops through the spreadsheet (just looking at this one column throughout the spreadsheet) looking for the following words ('Data Due', 'Files Due', Indent Due', 'Quantities Due').

 

The program loops through the spreadsheet looking at this one column and if the cell doesnt contain any of these words, the entire row gets deleted.

 

It then loops through this column until the end of the file is reached.

 

I have produced a bit of code, but have hit the point where I am getting stumped for what to do next.

 

The code is as follows:

 

Option Compare Database

 

Sub ExamsListFormat()

Dim LineData As String

Dim dansArray As Variant

Dim dansRange As Range

Dim I As Long

 

' Open the spreadsheet

Open "C:\Test\testdoc.xls" For Input As #1

 

dansArray = Array("Indent", "Files Due", "Quantities Due")

 

Do While Not EOF(1)

 

' Read a line of data.

Line Input #1, LineData

 

For I = LBound(dansArray) To UBound(dansArray)

 

Code: Select all

'Sheet with the data


    With ActiveSheet

 

Code: Select all

        'Firstly, remove the AutoFilter


        .AutoFilterMode = False

 

Code: Select all

        'Apply the filter


        .Range("O2:O" & .Rows.Count).AutoFilter Field:=1, Criteria1:=dansArray(I)

 

Code: Select all

        Set dansRange = Nothing


        With .AutoFilter.Range


            On Error Resume Next


            Set dansRange = .Offset(1, 0).Resize(.Rows.Count - 1, 1) .SpecialCells(xlCellTypeVisible)


            On Error GoTo 0


            If Not rng Is Nothing Then dansRange.EntireRow.Delete


        End With

 

Code: Select all

        'Remove the AutoFilter


        .AutoFilterMode = False


    End With

 

Code: Select all

Next I

 

With Application

Code: Select all

.ScreenUpdating = True


    .Calculation = calcmode

End With

 

' Close the data file.

Close #1

 

MsgBox "Document Scanned Successfully..."

End Sub

 

All advice will be much appreciated.

 

Many Thanks,

 

Dan

 


Delete rows in spreadsheet that are not needed

Posted: Tue Oct 04, 2011 12:52 pm
by Squall Leonhart

EPIC FAIL

 

This thread will remain as a testament to the many fools who simply fail at reading.