VBA - Copy/Paste Values if Cell equals Value

trock12

New Member
Joined
Dec 17, 2014
Messages
29
I can't quite nail this one down with VBA.

What I'm trying to accomplish is:

For a collection of rows (2:205), if the cell value in column H equals "Y" - copy and paste the values of that entire row. If the value of column H equals "N" or is blank - then do nothing to the row.

Any push in the right direction is appreciated!
 
Last edited:

Some videos you may like

Excel Facts

Copy formula down without changing references
If you have =SUM(F2:F49) in F50; type Alt+' in F51 to copy =SUM(F2:F49) to F51, leaving the formula in edit mode. Change SUM to COUNT.

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
42,849
Office Version
365
Platform
Windows
As long as you have a header row in row1 you could use either Autofilter or Advanced filter
 

trock12

New Member
Joined
Dec 17, 2014
Messages
29
I tried using Autofilter, but in the VBA it kept referring to that as a "Selection" and would error out when running the macro.

Code:
ActiveSheet.Range("$A$1:$G$205").AutoFilter Field:=7, Criteria1:="Y"
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xltoRight)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
42,849
Office Version
365
Platform
Windows
I didn't realise that you were looking to convert to values, rather than copy/paste to a new sheet.
In that case try
Code:
Sub trock12()
   Dim Rng As Range
   With ActiveSheet
      .Range("A1:G205").AutoFilter 7, "Y"
      For Each Rng In .AutoFilter.Range.SpecialCells(xlVisible).Areas
         Rng.Value = Rng.Value
      Next Rng
      .AutoFilterMode = False
   End With
End Sub
 

Watch MrExcel Video

Forum statistics

Threads
1,102,698
Messages
5,488,363
Members
407,634
Latest member
dominicus

This Week's Hot Topics

  • Timer in VBA - Stop, Start, Pause and Reset
    [CODE=vba][/CODE] Option Explicit Dim CmdStop As Boolean Dim Paused As Boolean Dim Start Dim TimerValue As Date Dim pausedTime As Date Sub...
  • how to updates multiple rows in muliselect listbox
    Hello everyone. I need help with below code. code is only chaning 1st row in mulitiselect list box. i know issue with code...
  • Delete Row from Table
    I am trying to delete a row from a table using VBA using a named range to find what I need to delete. My Range is finding the right cell. In the...
  • Assigning to a variable
    I have a for each block where I want to assign the value in column 5 of the found row to the variable Serv. [CODE=vba] For Each ws In...
  • Way to verify information
    Hi All, I don't know what to call this formula, and therefore can't search. I have a spreadsheet with information I want to reference...
  • Active Cell Address – Inactive Sheet
    How to use VBA to get the cell address of the active cell in an inactive worksheet and then place that cell address in a location on the current...
Top