Solved

VBA Autofill Column

Posted on 2015-02-07
5
364 Views
Last Modified: 2016-02-10
Looking for sub routine that copies values from one cell down until it no longer sees empty cells. Then as sub routine continues copy NEW value from non-empty cell into empty cells below it until again it encounters yet another non-empty cell picking up third new value again and continuing on until it hits row 1000.

Column A
empty cell
empty cell
FIRST VALUE
empty cell
SECOND VALUE
empty cell
empty cell
empty cell
THIRD VALUE
empty cell
empty cell

RUNNING MACRO SHOULD RESULT IN THE FOLLOWING
Column A
empty cell
empty cell
FIRST VALUE
FIRST VALUE
SECOND VALUE
SECOND VALUE
SECOND VALUE
SECOND VALUE
THIRD VALUE
THIRD VALUE
THIRD VALUE

Recording macro using something like, selection.autofill destination:=Range(a3:a4); however i believe i need solution to use dynamic variables as empty cells will always differ.
0
Comment
Question by:o z
  • 2
  • 2
5 Comments
 
LVL 45

Accepted Solution

by:
Martin Liss earned 250 total points
Comment Utility
This will do it but are you sure you always want to go to 1000?

Sub FillBlanks()

Dim lngRow As Long
Dim strValue  As String

For lngRow = 1 To 1000
    If Cells(lngRow, 1) <> "" Then
        strValue = Cells(lngRow, 1)
    Else
        Cells(lngRow, 1) = strValue
    End If
Next
End Sub

Open in new window

0
 
LVL 11

Assisted Solution

by:Wilder1626
Wilder1626 earned 250 total points
Comment Utility
Hi

I'm using this below macro but Martin Liss code his also very good and smaller

  ' Turn off screen updating to improve performance
    Application.ScreenUpdating = False
    On Error Resume Next
    ' Look in column A
    With Columns(1)
        ' For blank cells, set them to equal the cell above
        .SpecialCells(xlCellTypeBlanks).Formula = "=R[-1]C"
        'Convert the formula to a value
        .Value = .Value
    End With
    Err.Clear
    Application.ScreenUpdating = True

Open in new window

0
 

Author Closing Comment

by:o z
Comment Utility
Martin, your solution worked for column A as I described. However, I was really working with column G. And you are correct, I really only needed solution to loop through until last row populated in column F.

Wilder, your solution worked perfectly as I was able to modify column number to specify G.

I appreciate your help equally and have one last question... what other sites would you suggest I familiarize myself with to pick up such  VBA skills. Thanks!
0
 
LVL 11

Expert Comment

by:Wilder1626
Comment Utility
You may want to look at this link below. This  could be a good start.

The other option would be to get a friend like Martin Liss beside you. He actually showed me a lot,  last couple of year. :-)

The link below will have cases + macro code + the Excel template with the macro + the video that goes with it.

Multiple hours of fun!!!!!!!

Free VBA Training Videos
0
 
LVL 45

Expert Comment

by:Martin Liss
Comment Utility
Here's my code modified to look at columns G and F.

Sub FillBlanks()

Dim lngRow As Long
Dim strValue  As String
Dim lngLastRowF As Long

' Find the last populated cell in column F
lngLastRowF = Range("F1048576").End(xlUp).Row

' If you want to stop at the line *before* the last cell in F then
' replace the "For" line with this
'For lngRow = 1 To lngLastRowF - 1
For lngRow = 1 To lngLastRowF
    ' Look at values in column G. The syntax of Cells is Cells(row number, column number)
    If Cells(lngRow, 7) <> "" Then
        strValue = Cells(lngRow, 7)
    Else
        Cells(lngRow, 7) = strValue
    End If
Next

End Sub

Open in new window


In any case I'm glad I was able to help.

In my profile you'll find links to some articles I've written that may interest you.
Marty - MVP 2009 to 2014
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction This Article briefly covers methods of calculating the NPV and IRR variants in Excel as well as the limitations in calculating and interpreting IRR results. Paraphrasing Richard Shockley, author of my favourite finance reference tex…
In this article we discuss how to recover the missing Outlook 2011 for Mac data like Emails and Contacts manually.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
Learn how to make your own table of contents in Microsoft Word using paragraph styles and the automatic table of contents tool. We'll be using the paragraph styles in Word’s Home toolbar to help you create a table of contents. Type out your initial …

763 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

9 Experts available now in Live!

Get 1:1 Help Now