我有一个带有图表(Clustered Column)的Excel文档(2007),它从包含计算值的单元格中获取其Data Series
计算值不会直接更改,而只会因工作表中其他单元格的更改而更改
当我更改工作表中的其他单元格时,将重新计算数据系列单元格并显示新值 - 但基于此数据系列的图表拒绝自动更新
我可以通过保存/关闭或切换其中一个设置(例如反转x/y轴然后将其放回)或重新选择数据系列来更新图表
我在网上找到的每个解决方案都不起作用
我尝试过VBA脚本,如:
Application.Calculate
Application.CalculateFull
Application.CalculateFullRebuild
ActiveWorkbook.RefreshAll
DoEvents
这些都不会更新或刷新图表
我注意到,如果我键入我的数据系列,实际数字而不是计算,它将更新图表 - 就像Excel不想识别计算中的更改一样
有没有人以前经历过这个或知道我可以做些什么来解决这个问题?谢谢
我试图在Excel单元格中显示Windows用户名.
我怎样才能做到这一点?
有可能:
将数组声明为常量
要么
使用变通方法声明一个受保护的数组,以防止添加,删除或更改元素,因此在宏的生命周期中功能上保持不变?
我当然可以这样做:
Const myConstant1 As Integer = 2
Const myConstant2 As Integer = 13
Const myConstant3 As Integer = 17
Const myConstant4 ...and so on
Run Code Online (Sandbox Code Playgroud)
...但它失去了使用数组的优雅.我还可以将常量加载到数组中,并在每次使用它们时重新加载它们,但是在使用之前无法使用这些常量值重新加载数组可能会将代码暴露给已更改的"常量"值.
任何可行的答案都是受欢迎的,但理想的答案是可以设置一次而不需要在修改其他代码时进行任何更改/维护.
我在Excel中有一个VBA脚本冻结了Excel工作表的窗格,但我很想知道如果没有先选择一个范围,这是否可行.现在通过代码冻结第1行到第7行:
ActiveSheet.Range("A8").Select
ActiveWindow.FreezePanes = True
Run Code Online (Sandbox Code Playgroud)
有什么建议?
在寻找一种方法来测试用户何时取消时InputBox
,我偶然发现了这个StrPtr
功能.我相信它会检查一个变量是否被分配了一个值,如果它从未被分配则返回零,如果是,则返回一些神秘数字.
这似乎是一个有用的功能!我从这段代码开始:
Dim myVar as string
myVar = InputBox("Enter something.")
MsgBox StrPtr(myVar)
Run Code Online (Sandbox Code Playgroud)
如果用户取消,消息框显示零.
太棒了!但是为什么有些人坚持认为StrPtr
永远不会被使用?我读它不受支持.为什么这么重要?
一个好的答案将解释好处(超出我上面的例子)和使用该StrPtr
功能的风险,可能你如何使用(或不使用)它,而不是就是否每个人都应该使用它而发表意见.
如何使用VBA至少保存一次Excel工作簿,而不是作为尚未保存的新工作簿.我不想检查它当前是否已保存 - 只有单击"保存"才会将文档保存到现有位置或提示我选择保存位置.
我在Excel中有一个CommandButton,发现两个.Caption
和.Text
属性都返回按钮的相同可见文本.这是我用来查看值的代码:
Debug.Print ActiveSheet.Buttons("My_Command_Button").Caption
Debug.Print ActiveSheet.Buttons("My_Command_Button").Text
Run Code Online (Sandbox Code Playgroud)
这两个属性之间有什么区别,区别是否重要?
在标题为VB6中的优化字符串处理 - 第 I部分的文章“在 .res 文件中存储字符串”小节下,作者讨论了将字符串存储在 .res 文件中,与字符串的 2 个字节相比,每个字符只需要 1 个字节VB6中的文字。
这篇文章是关于 VB6 的,但我正在研究它在 VBA(基于 VB6)中的应用。
我总是习惯性地使用ActiveSheet
这样的:ActiveWorkbook.ActiveSheet
.我最近偶然发现了这个包含ActiveSheet
没有的代码的Microsoft页面ActiveWorkbook
.该页面的标题是Application.ActiveSheet
Property.
这三行代码之间有区别吗?
ActiveSheet
ActiveWorkbook.ActiveSheet
Application.ActiveSheet
Run Code Online (Sandbox Code Playgroud) 我试图将可选参数的默认值设置为Excel的Application.ActiveWorkbook
属性.这是我失败的尝试:
Function SheetExists(ByVal sheetName As String, _
Optional ByVal targetBook As Workbook = Application.ActiveWorkbook) As Boolean
Run Code Online (Sandbox Code Playgroud)
这段代码引起了
需要常量表达式:编译错误
ActiveWorkbook
属性(和其他属性)用作函数和子例程中参数的默认值?vba properties parameter-passing excel-vba optional-parameters
在VBA中使用这两个功能有什么不同?使用一个比另一个有速度优势吗?
Application.WorksheetFunction.IsNumber(myVar)
IsNumeric(myVar)
Run Code Online (Sandbox Code Playgroud) vba ×11
excel-vba ×8
excel ×7
arrays ×1
constants ×1
excel-2007 ×1
function ×1
localization ×1
netsuite ×1
properties ×1
sql-server ×1
vb6 ×1
worksheet ×1