Excel VBA - I'm looking for code that will loop through a column and return a value to another column if a condition is true.

jnikodym
jnikodym used Ask the Experts™
on
I have data in Column H of my excel file.  I want to hit a button on the sheet that will loop through the data in column H and if the data is not blank or a zero i want the value that is in that cell to be placed in cell J1.  Then if it finds another value that is not blank or a zero i want that value place in cell J2 and so on.

If my H column looked like this:
H1 = Green
H2 =
H3 = 0
H4 = 0
H5 = Blue

I would want my J column to look like this:
J1= Green
J2= Blue
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Professor JMicrosoft Excel Expert
Top Expert 2014

Commented:
Sub test

With activesheet
LR= .cells(.cells.rows.count, "H").end(xlup)
End with
For each c in activesheet.range("h1:h"&LR)
If c.value<>"" and c.value<>0 then
C.offset(0,-2).value=c.value
End if
Next c
End sub
Excel & VBA Expert
Most Valuable Expert 2018
Awarded 2015
Commented:
Try this....
Sub CopyNonBlankValues()
Dim lr As Long
Dim rng As Range, cell As Range
Application.ScreenUpdating = False
lr = Cells(Rows.Count, "H").End(xlUp).Row
Set rng = Range("H1:H" & lr)
For Each cell In rng
   If cell <> 0 Then
      cell.Copy
      If Range("J1").Value = "" Then
         Range("J1").PasteSpecial xlPasteValues
      Else
         Range("J" & Rows.Count).End(3)(2).PasteSpecial xlPasteValues
      End If
   End If
Next cell
Application.CutCopyMode = 0
Application.ScreenUpdating = True
End Sub

Open in new window

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial