Solved

Delete from Sheet1 based on value in Sheet2

Posted on 2013-05-20
5
456 Views
Last Modified: 2013-05-20
I have the attached example of a file where I need to

do the below:

Delete rows to end of used rows on Sheet1 where
Sheet1 column A matches Sheet2 column C
And Sheet2 column AP is not null

Can someone please help on how best to approach this either using a formula or VBA - preferably vba.  

Thanks in advance.
Not-Null.zip
0
Comment
Question by:leezac
  • 3
  • 2
5 Comments
 
LVL 35

Expert Comment

by:[ fanpages ]
Comment Utility
Hi,

Just to confirm your expected outcome; in the example workbook provided, there would just be two remaining rows in [Sheet1]:

flour
soda


...or would "Milk" still be present (as it does not match "milk" in [Sheet2])?

Thanks.

BFN,

fp.

PS. Should "beens" read "beans"? :)
0
 

Author Comment

by:leezac
Comment Utility
expected outcome;  there would just be two remaining rows in [Sheet1]:

flour
soda

Thanks
0
 
LVL 35

Accepted Solution

by:
[ fanpages ] earned 500 total points
Comment Utility
Hi again,

Thanks for your confirmation.

This code should meet your requirements:

Option Explicit
Public Sub Q_28133386()

  Dim lngRow                                            As Long
  Dim objCell                                           As Range
  Dim objRange                                          As Range
  
  On Error Resume Next
  
  Application.ScreenUpdating = False
  
  Set objRange = Range(Worksheets("Sheet2").[C3], Worksheets("Sheet2").Cells(Worksheets("Sheet2").Cells.Rows.Count, "C").End(xlUp))
  
  If Not (objRange Is Nothing) Then
     Worksheets("Sheet1").Select
  
     For lngRow = Cells(Cells.Rows.Count, 1).End(xlUp).Row To 2& Step -1&
  
         Set objCell = Nothing
         Set objCell = objRange.Find(What:=Cells(lngRow, "A"))
      
         If Not (objCell Is Nothing) Then
            If Not (IsEmpty(Worksheets("Sheet2").Cells(objCell.Row, "AP"))) Then
               Worksheets("Sheet1").Rows(lngRow).EntireRow.Delete
            End If ' If IsEmpty(Worksheets("Sheet2").Cells(objCell.Row, "AP")) Then
         End If ' If Not (objCell Is Nothing) Then
         
     Next lngRow
  End If ' If Not (objRange Is Nothing) Then
  
  Set objCell = Nothing
  Set objRange = Nothing
  
  Application.ScreenUpdating = True
  
End Sub

Open in new window


I have also attached a workbook based on your original with this code included within a separate code module, "basQ_28133386", for convenience.

BFN,

fp.
Q-28133386.xls
0
 

Author Closing Comment

by:leezac
Comment Utility
Thank you - works perfect
0
 
LVL 35

Expert Comment

by:[ fanpages ]
Comment Utility
You are very welcome.

Good luck with the rest of your project.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

What is a Form List Box? (skip if you know this) The forms List Box is the alternative to the ActiveX list box. If you are using excel 2007, you first make sure you have a developer tab (click the Orb)->"Excel Options"->Popular->"Show Developer tab…
Approximate matching with VLOOKUP and MATCH seems to me to be a greatly under-used technique, and one which is vital for getting good performance out of large lookups. Until recently I would always have advised using an exact match for simplicity an…
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now