2016-08-09 33 views
-3

嗨,我需要帮助创建自动使用名称管理器工具在Excel中创建一个图表的范围内的偏移功能创建一个名称的过程中的VBA脚本。我有100个excel文件,我已经创建了遍历它们的循环。我只是不知道使用哪个函数来创建名称并操纵图表范围。请参阅下面我试图创建的Sudo代码。Excel VBA中如何使用名称的功能来定义偏移式

虽然文件夹可

打开文件

转到标签1

转到表1

开名经理

创建计算行数的新名称在列中的动态

创建计算列B动态

设置两个名称作为现有图表称为图1

转到下一个文件

基本范围的行数的新名字是我想要做的是完全与此相同的视频 https://m.youtube.com/watch?v=1VnITD0rU1A

编辑: 正如其他建议,我决定尝试录制宏,我得到了这一点:

ActiveSheet.Shapes.Range(Array("TextBox 3")).Select 
Selection.ShapeRange.IncrementLeft -0.8822834646 
Selection.ShapeRange.IncrementTop 275.2940944882 
Range("O18").Select 
ActiveWorkbook.Names.Add Name:="TimeStamp", RefersToR1C1:= _ 
    "=OFFSET('KPI 2'!R6C16,,,COUNT('KPI 2'!C16),1)" 
ActiveWorkbook.Names("TimeStamp").Comment = "" 
ActiveWorkbook.Names.Add Name:="RunTime", RefersToR1C1:= _ 
    "=OFFSET('KPI 2'!R6C17,,,COUNT('KPI 2'!C17),1)" 
ActiveWorkbook.Names("RunTime").Comment = "" 
ActiveWorkbook.Names.Add Name:="AverageRunTime", RefersToR1C1:= _ 
    "=OFFSET('KPI 2'!R6C18,,,COUNT('KPI 2'!C18),1)" 
ActiveWorkbook.Names("AverageRunTime").Comment = "" 
ActiveWindow.SmallScroll ToRight:=8 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.SeriesCollection(1).XValues = "=='31-G-1A.xlsm'!TimeStamp" 
ActiveChart.SeriesCollection(1).Values = "=='31-G-1A.xlsm'!RunTime" 
ActiveWindow.SmallScroll Down:=24 
ActiveSheet.ChartObjects("Chart 2").Activate 
ActiveSheet.ChartObjects("Chart 2").Activate 
ActiveChart.SeriesCollection(1).XValues = "=='31-G-1A.xlsm'!TimeStamp" 
ActiveChart.SeriesCollection(1).Values = "=='31-G-1A.xlsm'!AverageRunTime" 
ActiveWindow.SmallScroll Down:=30 

名称公式的作品,但试图设置图表的x和y的值时,我得到一个错误。 (该文件称为'31 -G-1A.xlsm')

+0

就尝试过,但得到错误尝试更新图表 – user3138464

回答

0

当您录制宏,将名称添加到使用R1C1符号”

ActiveWorkbook.Names.Add Name:="Example1", RefersToR1C1:="=OFFSET(Sheet1!R1C1,1,0,COUNTA(Sheet1!C1),COUNTA(Sheet1!R1))"

但是你的ActiveWorkbook.Names也可以使用引用关联使用xlA1符号添加的名称:

ActiveWorkbook.Names.Add Name:="Example2", RefersTo:="=OFFSET(A1,1,0,COUNTA(A:A),COUNTA(1:1))"

+0

嘿,我试图记录它时而是试图T当我收到提示o使用x和y值的名称。请参阅更新的代码。 – user3138464

+0

名称范围工作簿不工作表。尝试删除工作表''参考'31 -G-1A.xlsm'!'。 ActiveChart.SeriesCollection(1).XValues = “== '31-G-1A.xlsm'!时间戳”''到ActiveChart.SeriesCollection(1).XValues = “==时间戳”' –

+0

嘿余改变为ActiveChart.SeriesCollection (1).XValues =“== TimeStamp”,但我收到错误:应用程序定义或对象定义的错误 – user3138464

相关问题