ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Need macro to drag values down to blank cells (https://www.excelbanter.com/excel-programming/415174-need-macro-drag-values-down-blank-cells.html)

Greg Snidow

Need macro to drag values down to blank cells
 
Greetings all. I have a spreadsheet that I use to upload data to a SQL
Server using bulk insert. Column 1 is for a town name, but it is only
populated for the first row of every town. For example, if there are 10 rows
of data for Leesburg, only row 1 would have "Leesburg" in column 1, and rows
2-10 will be blank for column 1, until you get to the next set of towns.
Lets say the next 10 rows are for Tampa, starting at row 11. Column 1 at row
11 will say "Tampa", but rows 12-20 will be blank, until the next town
starts. What I do is drag each town down through the section for that town,
so that every row has the town populated. Is there a way to do this
programatically?

Greg

DMoney

Need macro to drag values down to blank cells
 
This will do it, but you must put in the word stop at the bottom of your
spreadsheet in column a for it to work.

Sub fill()
'
Range("a1").Select
Do Until ActiveCell.Value = "stop"
If ActiveCell.Value < "" Then
Dim a As String
a = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Count = 1
End If
Do Until ActiveCell.Value < ""
If ActiveCell.Value = "" Then
ActiveCell.Offset(1, 0).Activate
Count = Count + 1
End If
Loop
Dim b As String
ActiveCell.Offset(-1, 0).Activate
b = ActiveCell.Address
Range(a & ":" & b).FillDown
ActiveCell.Offset(1, 0).Activate
Loop
'
End Sub

"Greg Snidow" wrote:

Greetings all. I have a spreadsheet that I use to upload data to a SQL
Server using bulk insert. Column 1 is for a town name, but it is only
populated for the first row of every town. For example, if there are 10 rows
of data for Leesburg, only row 1 would have "Leesburg" in column 1, and rows
2-10 will be blank for column 1, until you get to the next set of towns.
Lets say the next 10 rows are for Tampa, starting at row 11. Column 1 at row
11 will say "Tampa", but rows 12-20 will be blank, until the next town
starts. What I do is drag each town down through the section for that town,
so that every row has the town populated. Is there a way to do this
programatically?

Greg


Greg Snidow

Need macro to drag values down to blank cells
 
Thanks dmoney. It worked like a charm. Incidentally, I found some code on
another post to calculate the last row, which came in nicely here. I just
had it autopopulate "stop" in the appropriate cell.

StopRow = [B65535].End(xlUp).Row
Set MyRng = Range("B2:B" & StopRow)
Range("A" & StopRow + 1).Select
ActiveCell.Value = "stop"

"dmoney" wrote:

This will do it, but you must put in the word stop at the bottom of your
spreadsheet in column a for it to work.

Sub fill()
'
Range("a1").Select
Do Until ActiveCell.Value = "stop"
If ActiveCell.Value < "" Then
Dim a As String
a = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Count = 1
End If
Do Until ActiveCell.Value < ""
If ActiveCell.Value = "" Then
ActiveCell.Offset(1, 0).Activate
Count = Count + 1
End If
Loop
Dim b As String
ActiveCell.Offset(-1, 0).Activate
b = ActiveCell.Address
Range(a & ":" & b).FillDown
ActiveCell.Offset(1, 0).Activate
Loop
'
End Sub

"Greg Snidow" wrote:

Greetings all. I have a spreadsheet that I use to upload data to a SQL
Server using bulk insert. Column 1 is for a town name, but it is only
populated for the first row of every town. For example, if there are 10 rows
of data for Leesburg, only row 1 would have "Leesburg" in column 1, and rows
2-10 will be blank for column 1, until you get to the next set of towns.
Lets say the next 10 rows are for Tampa, starting at row 11. Column 1 at row
11 will say "Tampa", but rows 12-20 will be blank, until the next town
starts. What I do is drag each town down through the section for that town,
so that every row has the town populated. Is there a way to do this
programatically?

Greg


Keep It Simple Stupid

Need macro to drag values down to blank cells
 
I tried using this and it doesn't fill in my blanks. It just scrolls through
and stops at the stop line.

I thought this would work for me because I have a text value in column A
with blanks under each - and I need those values to be dragged down through
the blank cells. Am I doing something wrong?


"dmoney" wrote:

This will do it, but you must put in the word stop at the bottom of your
spreadsheet in column a for it to work.

Sub fill()
'
Range("a1").Select
Do Until ActiveCell.Value = "stop"
If ActiveCell.Value < "" Then
Dim a As String
a = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Count = 1
End If
Do Until ActiveCell.Value < ""
If ActiveCell.Value = "" Then
ActiveCell.Offset(1, 0).Activate
Count = Count + 1
End If
Loop
Dim b As String
ActiveCell.Offset(-1, 0).Activate
b = ActiveCell.Address
Range(a & ":" & b).FillDown
ActiveCell.Offset(1, 0).Activate
Loop
'
End Sub

"Greg Snidow" wrote:

Greetings all. I have a spreadsheet that I use to upload data to a SQL
Server using bulk insert. Column 1 is for a town name, but it is only
populated for the first row of every town. For example, if there are 10 rows
of data for Leesburg, only row 1 would have "Leesburg" in column 1, and rows
2-10 will be blank for column 1, until you get to the next set of towns.
Lets say the next 10 rows are for Tampa, starting at row 11. Column 1 at row
11 will say "Tampa", but rows 12-20 will be blank, until the next town
starts. What I do is drag each town down through the section for that town,
so that every row has the town populated. Is there a way to do this
programatically?

Greg



All times are GMT +1. The time now is 05:38 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com