2013-03-06 75 views
0

我的要求是创建一个macroexcel 2010,它将使用Name Manager(Ribbon> Formula> Name Manager)自动为等距单元格分配名称或创建名称。用于Excel 2010的宏以使名称管理器自动化

For e.g. Cell A1 to be named as Name_1, Cell A11 to be named as Name_2, Cell A21 to be named as Name_3 and so on. 

希望这有意义,否则要求澄清。谢谢!

+0

[你尝试过什么?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2013-03-06 08:58:37

+0

对不起@PeterAlbert我没有在宏观上尝试了任何东西。我试图手动执行,因为我不是宏观方面的专家。这就是为什么寻求你的帮助:-) – saikosen 2013-03-06 09:49:29

+0

尝试宏记录器 - 记录你创建两个名字的宏。然后查看代码并尝试修改它。向我们展示一些努力,我们很乐意为您提供支持! – 2013-03-06 10:06:20

回答

0

彼得,你的干练指导帮助我成功(也得到了悉达特路特的帮助!):)谢谢!请在下面找到我的代码 -

Private Sub CommandButton1_Click() 

'Define the variables 
Dim vRangeDefined, vRowCount, vRowIndex, vColIndex, vCounter, vCellValue As String, vNameValue As String 

'Define the range where the values are entered 
vRangeDefined = ActiveSheet.Range("A:B").Value 
vRowCount = ActiveSheet.UsedRange.Rows.Count 

For vCounter = 2 To vRowCount 
    vCellValue = vRangeDefined(vCounter, 1) 
    vNameValue = vRangeDefined(vCounter, 2) 
    'Divide the Cell Value in two parts 
    vRowIndex = Left(vCellValue, 1) 
    vColIndex = Right(vCellValue, Len(vCellValue) - 1) 
    'MsgBox vRowIndex & "-" & vColIndex 

    'Assign the names to cells as per the range 
    ActiveWorkbook.Names.Add _ 
     Name:=vNameValue, _ 
     RefersTo:="='Sheet1'!$" & vRowIndex & "$" & vColIndex 

Next 

MsgBox "Process complete..." 

End Sub