Insert 1 into blank cells in a column

bradyj7

Board Regular
Joined
Mar 2, 2011
Messages
106
Hi there,

I'm looking for a macro to insert the number 1 into blank cells in column B. The number of rows can vary from file to file.

Thank you for the help.
 

Excel Facts

Can Excel fill bagel flavors?
You can teach Excel a new custom list. Type the list in cells, File, Options, Advanced, Edit Custom Lists, Import, OK
Try
Code:
Dim LR As Long
LR = ActiveSheet.UsedRange.Rows.Count
 
For i = 1 To LR
    If Range("B" & i).Value = "" Then
        Range("B" & i).Value = 1
    End If
Next i
 
Upvote 0
You can do this without a macro...

Highlight column B
Press CTRL + G
Click Special
Select Blanks
Click OK
Tye a 1
Press CTRL + ENTER


If it must be a macro, use the macro recorder (tools - macro - record new macro) to record the above steps.


Hope that helps.
 
Upvote 0
If you are using jonmo1's method, make sure you have not changed anything to the worksheet (or save) and there isn't any date cell formatting as it picks it up.
 
Upvote 0
If you are using jonmo1's method, make sure you have not changed anything to the worksheet (or save) and there isn't any date cell formatting as it picks it up.

So does your macro

UsedRange.Rows.Count is also subject to whatever Excel thinks is the last used row.


To prevent that, you would need to use an adjescent column to determine the last row to apply this to..Say column A for example

And change this line

LR = ActiveSheet.UsedRange.Rows.Count

to

LR = ActiveSheet.Cells(Rows.Count, "A").End(xlup).Row
 
Upvote 0
I inadvertently posted this response in your duplicate thread:

This code will enter 1 in all Col_B blank cells that are within the Used Range. If you need restrictions on the last Col_B cell to be considered, let us know

Code:
Sub PlugBlanks() 
Dim ws As Worksheet 
Set ws = ActiveSheet 
ws.Range("B:B").SpecialCells(xlCellTypeBlanks).Value = 1 
End Sub


</PRE>


Does that help?
 
Last edited:
Upvote 0
So does your macro

UsedRange.Rows.Count is also subject to whatever Excel thinks is the last used row.


To prevent that, you would need to use an adjescent column to determine the last row to apply this to..Say column A for example

And change this line

LR = ActiveSheet.UsedRange.Rows.Count

to

LR = ActiveSheet.Cells(Rows.Count, "A").End(xlup).Row

They seem to output the same result..

Edit: OHHHH nvm :P thank you very much!
 
Last edited:
Upvote 0

Forum statistics

Threads
1,224,590
Messages
6,179,750
Members
452,940
Latest member
rootytrip

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top