I want to loop this macro

D

DoooWhat

This macro allows me to name cells very easily:

Sub NameCells()

Dim w As String
Dim cell As Range

w = Cells(ActiveCell.Row, 1) & "_" & Cells(2, ActiveCell.Column)
w = Replace(w, "& ", "")
' several other replacements that I omitted for brevity's
sake
ThisWorkbook.Names.Add Name:=w, _
RefersTo:=ActiveCell, _
Visible:=True

End Sub

The trouble is that I have to click the macro in each cell that I want
to name. I am using this on financial statements, and I have to do it
about 200 times every time I import a new set. Is there any way to
loop this so that I can select a range of cells, and it will
automatically name all of them based on the above criteria?
 
R

reza

Give this a try. I have replaced ActiveCell with a variable that is
passed as a parameter from a calling function:

Sub NameSelected()
Dim c As Range
For Each c In Selection
NameCells c
Next
End Sub


Sub NameCells(r As Range)
Dim w As String
Dim cell As Range

w = Cells(r.Row, 1) & "_" & Cells(2, r.Column)
w = Replace(w, "& ", "")
ThisWorkbook.Names.Add Name:=w, _
RefersTo:=r, _
Visible:=True
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top