I want to loop this macro

  • Thread starter Thread starter DoooWhat
  • Start date Start date
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?
 
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
 
Back
Top