我正在尝试一个实验,使用一系列动态命名范围在Excel 2010 (Microsoft Office Professional Plus 2010)下生成一系列图表。
我遇到的问题是,在输入名称后,动态范围的名称会被计算出的范围所取代。
在这个实验中,我使用一个简单的折线图来显示数据。
我正在选择选择数据...图表的弹出菜单选项。在“选择数据源”对话框中,在“图表数据区域”TextBox中输入命名的数据区域,然后按enter键。
I enter ChartNumbers and it gets replaced with =Drawings!$E$316:$E$465
我将绘图定义为=
我的文档的结构可以从下面的图像中看到。我希望建立一个时间线图表从列A(不包括单元格A1,这是至关重要的图表,这个特定的单元格不包括),B和D。我正在寻找的方法,使图表动态使用VBA,以便由用户添加的新事件将自动显示在图表中,而不必手动更改图表的范围。
这个范围不需要立即/连续地改变--只要当点击按钮"Create a New Event View“后的宏时改变就行了。当用户有更多事件要添加到表中时,她只需将事件添加到表中,通过创建新表并删除旧表,她也将拥有更新后的图表。
问题是,如何做到这一点?
我已经使用名称管理器创建了一个命名范围。它被称为Vol_Check。它的作用域为Workbook。
如果它的作用域是工作簿,为什么我在来自其他工作表或ThisWorkbook或模块的VBA代码中看不到它。即使我尝试直接引用它,它也不会起作用。这是一个我不能工作的代码示例。
Private Sub CommandButton1_Click()
If ThisWorkbook.Sheets("sheet1").Range("Vol_Check").Value <> 1 Then
MsgBox ("Some message
所以我有一套很大的代码,可以在员工使用的工作表中创建一个数据存档。使此功能的一部分是在每一张可用数据上命名范围。为了保持数据完整性,我需要将命名的range对象从归档表复制到它的副本。命名范围是通过编程构建的,并按预期的方式在工作表上运行。我遇到的问题是当我去归档这张纸的时候。下面是我用来处理命名范围对象的代码:
For Each n In OldSht.Names
NamedRangeRefersTo = n.RefersTo
NamedRange = n.Name
TrimmedName = Right(n.Name, Len(n.Name) - InStr(1,
我想从命名范围中检索一个值。假设有一个命名范围,它有X列和Y行。我想返回一个值,例如,第2列、第3行。我遇到的问题是,如果我编写代码并运行它,Excel会抛出错误。如果我将代码写入监视窗口,它会返回正常。见下文
...
Dim NamedRange As Variant: NamedRange = Range(NamedRangeName)
...
Dim ReturnValue As Object
Set ReturnValue = NamedRange(RowIndex, ColumnToRetrieveIndex) 'Throws Run-time error 424. Obje
我有一个宏来根据我的选择自动生成图形。如果我选择一个表,就可以很好地工作。我必须一次选择一个表来生成图形。有没有一种方法可以设置嵌套宏来选择工作表并为每个表生成单独的图表?
我们将非常感谢您的任何意见。谢谢您:)
用于生成一个图表的宏
“Macro3宏”键盘快捷键: Ctrl+a
子图()
Dim rng As Range
Dim cht As ChartObject
Set rng = Selection
rng(1, 1).Clear
Set cht = ActiveSheet.ChartObjects.Add( _
Left:=ActiveCell.Left, _
Wi
我正在尝试创建一个vba代码,它将把我的数据验证列表区域更新为另一个工作表上的最后一行。我的下拉列表在我的"Home“选项卡上,它的列表范围来自"Mapping tab”上的P列。列表每天都会改变,所以我想添加formaula来查找finalrow,而不是输入单元格行的值。以下是我编写的代码,但公式出现错误。
Sub getDropdownList()
Dim finalrow1 As Integer
'finds last row in Column P on Mapping tab
Sheets("Mapping").Se
在我的应用程序中,我使用spreadsheetgear来处理Excel文件。我使用以下代码:
//move incorrect to aux
incorrectLine.Select(); //select the line to be moved
wbkView.Cut();
auxLine.Select();
wbkView.Paste();
//move correct to incorrect
correctLine.Select(); //select the line to be moved
wbkView.Cut();
in