PC Review


Reply
 
 
Scott
Guest
Posts: n/a
 
      23rd Jan 2008
I have to define a few dozens of names in an Excel files. I put all the names
in Range ("A1:A35") and their respective addresses in Range ("B1:B35"), such
as "sheet1!$a$1:$c$20". What is the macro to run this job?

Also, want to know what are the codes to delete all these names later on if
necessary.

Thanks.
 
Reply With Quote
 
 
 
 
Joel
Guest
Posts: n/a
 
      23rd Jan 2008
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 1/23/2008 by Joel Warburg
'

'
For RowCount = 1 To 35
ActiveWorkbook.Names.Add Name:=Range("A" & RowCount), _
RefersTo:="=" & Range("B" & RowCount)
Next RowCount
End Sub

For Each nm In ActiveWorkbook.Names
nm.Delete
Next nm


"Scott" wrote:

> I have to define a few dozens of names in an Excel files. I put all the names
> in Range ("A1:A35") and their respective addresses in Range ("B1:B35"), such
> as "sheet1!$a$1:$c$20". What is the macro to run this job?
>
> Also, want to know what are the codes to delete all these names later on if
> necessary.
>
> Thanks.

 
Reply With Quote
 
Dave Peterson
Guest
Posts: n/a
 
      23rd Jan 2008
This adds the names as global names (workbook level):

Option Explicit
Sub testme()

Dim myRng As Range
Dim myCell As Range
Dim TestRng As Range

With Worksheets("sheet1")
Set myRng = .Range("a1", .Cells(.Rows.Count, "A").End(xlUp))
End With

For Each myCell In myRng.Cells
myCell.Offset(0, 2).Value = "ok"
Set TestRng = Nothing
On Error Resume Next
Set TestRng = Application.Range(myCell.Offset(0, 1).Value)
On Error GoTo 0

If TestRng Is Nothing Then
myCell.Offset(0, 2).Value = "Invalid address!"
Else
On Error Resume Next
TestRng.Name = myCell.Value
If Err.Number <> 0 Then
myCell.Offset(0, 2).Value = "Invalid name!"
Err.Clear
End If
On Error GoTo 0
End If
Next myCell

End Sub


And this would delete the names:
Option Explicit
Sub testme02()
Dim myName As Name
Dim myRng As Range
Dim myCell As Range

With Worksheets("sheet1")
Set myRng = .Range("a1", .Cells(.Rows.Count, "A").End(xlUp))
End With

For Each myCell In myRng.Cells
On Error Resume Next
ThisWorkbook.Names(myCell.Value).Delete
If Err.Number <> 0 Then
myCell.Offset(0, 3).Value = "error while deleting"
Err.Clear
Else
myCell.Offset(0, 3).Value = "Deleted"
End If
Next myCell
End Sub

Since you're working with names, get Jan Karel Pieterse's (with Charles Williams
and Matthew Henson) Name Manager:

You can find it at:
NameManager.Zip from http://www.oaltd.co.uk/mvp

You'll find it very valuable.

Scott wrote:
>
> I have to define a few dozens of names in an Excel files. I put all the names
> in Range ("A1:A35") and their respective addresses in Range ("B1:B35"), such
> as "sheet1!$a$1:$c$20". What is the macro to run this job?
>
> Also, want to know what are the codes to delete all these names later on if
> necessary.
>
> Thanks.


--

Dave Peterson
 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
converting email address names in a range of cells to real names John Microsoft Excel Worksheet Functions 1 19th May 2010 03:44 PM
Extract first names, middle names, last names and JR/SR MrsMrfy Microsoft Excel Discussion 8 7th Mar 2008 02:21 AM
Outlook 2003: Copy Full Names to email display Names orbojeff Microsoft Outlook 2 10th Oct 2005 09:46 PM
Change names of files in a folder to match names in Excel Column saybut Microsoft Excel Programming 4 9th Feb 2004 06:26 PM
Names Names Names Bill William Pat Patrick P G Microsoft Access 3 9th Dec 2003 04:08 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 12:04 AM.