Delete rows in spreadsheet that are not needed

Non VBA-M Related on-topic discussion goes here, anything posted related to the emulator in this board will either be deleted or the content moved at staff discretion.
Locked
dwinn86
Junior Member
Posts: 1
Joined: Mon Oct 03, 2011 11:24 am

Delete rows in spreadsheet that are not needed

Post 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

 

Squall Leonhart
Posting Freak
Posts: 1223
Joined: Tue Mar 18, 2008 9:21 am

Delete rows in spreadsheet that are not needed

Post by Squall Leonhart »

EPIC FAIL

 

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

Last edited by Squall Leonhart on Tue Oct 04, 2011 12:53 pm, edited 1 time in total.
Locked