Tag: 命名范围

查找大工作簿中正在使用的命名范围

我有一个工作簿中有近59个命名范围的列表,有近20张,每张有大约200列的数据。 我需要找出命名范围在哪里被使用,以删除不相关的范围。 我将一个命名区域列表粘贴到表单上,然后尝试通过logging来查找它们是否在公式中使用,然后在所有表单和列中使用find方法。 问题是,尽pipe使用了lookin xlformulas,它仍然检索命名范围,即使它只是一个文本。 这是我的(更新)尝试(如果它不是已经很明显,我是一个业余): Application.ScreenUpdating = False Count = ActiveWorkbook.Sheets.Count Sheets(Count).Activate Dim locr(1 To 595) Dim locc(1 To 595) Dim locn(1 To 595) Dim nam(1 To 595) Dim rng As Range Range("a1").Select For X = 1 To 595 'populate array with named ranges ActiveCell.Offset(1, 0).Select nam(X) = ActiveCell.Value Next X For i = […]

从命名区域的Name对象获取图纸名称

我有: Microsoft.Office.Interop.Excel.Workbook wb; Microsoft.Office.Interop.Excel.Name name; 有没有什么办法让工作表名称的命名范围是在给定的工作簿,假设我已经得到命名的范围的名称对象和WB已经?

名称重复时,在Excel工作簿中按string获取命名范围

详细说一下,假设我的工作簿中有两个命名的范围。 两个命名范围都具有相同的名称(比方说“myName”),但其中一个范围为Sheet1,另一个范围为Workbook。 给定命名范围的名称(string),我想抓取工作簿级命名范围。 如果我使用本地调用: wb.Names.Item("myName") ,它将返回工作表作用域的命名范围。 如果相反,我做: wb.Names.Item("Sheet1!myName") ,显然返回工作表范围的名称范围。 我发现我可以使用这个来指定特定的表格,但不是工作簿。 有反正我可以指定我想工作簿作用域? 我的解决方法是遍历所有名称的列表,并比较.Name属性以获取工作簿范围命名范围。 这是因为.Name属性追加了“Sheet1!” 到表范围的命名范围。 然而这样做非常昂贵,我想避免它。

你如何得到一个范围返回它的名字?

Dim sampleRange as Range Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4) sampleRange.Name = "Range1" MsgBox sampleRange.Name 上面的代码将显示范围的实际地址,而不是名称。 为什么? 我如何得到一个命名的范围来返回它的名字?

Excel VBA:工作簿范围,工作表相关的名称公式/命名范围(结果根据活动工作表而变化)

编辑:标题更改为清晰。 快速总结:我想知道工作簿范围,工作表相关的命名公式(我将在下面描述)的行为是Excel中logging的function。 如果是这样的话,请指向某个文档的方向 – 我似乎无法find关于这个在线的任何东西(也许我正在使用坏的search条件..?),而不想使用的东西是实际一个错误,并可能消失在一个更高的版本! 严格地说,这不是一个关于VBA的问题。 然而,命名公式是我和其他人一直在使用的VBA代码 ,所以它仍然适用于我认为的主题。 编辑:请注意,下面的VBA代码可能不完全正确 – 我还没有testing过。 常规方法 对于工程/科学计算,我经常需要在同一工作簿中多次使用相同的命名公式/范围,但在不同的工作表上。 作为一个简单的例子,我可能在圆圈的区域实现这样的事情: Dim sht as Worksheet For Each sht In ThisWorkbook Call sht.Names.Add(Name:="AreaCircle",RefersTo:="=PI()*'" & _ sht.Name & "'!Radius^2") Next sht 其结果是以下一组命名范围/公式(范围为每个工作表): =PI()*Sheet1!Radius^2 <— scoped to Sheet1 =PI()*Sheet2!Radius^2 <— scoped to Sheet2 etc. etc. 这当然很好,但是它有很大的缺点,很难做出未来的改变。 例如,如果公式发生变化(圆的面积当然不会改变!但是,例如AASHTO LRFD公路devise规范中的公式,几乎每一个版本都会改​​变!),我必须编辑每一个实例每一个单一的名称公式。 这很乏味,即使我写一个VBA程序来为我做。 替代方法 我发现Excel 2013中偶然发现了以下内容,并且无法在网上find任何有关它的信息。 这让我犹豫开始使用它。 比方说,我运行下面的一行代码: Call […]

如何引用excel命名范围内的单元格?

例如我已经命名A10到A20为年龄,现在我怎么得到与A14相同的年龄[5]。 我可以写“= A14”,但我喜欢写“=年龄$ 5”或什么的。