相关疑难解决方法(0)

数据更改时图表不会自动更新

希望这是一个简单的.我在MS Excel中有一系列图表指向同一工作表上的数据.工作表上的数据使用VBA函数计算.当VBA函数更新数据时,新数字不会反映在指向它们的图表中.我试过调用Application.Calculate,但是没有做到这一点.有什么想法吗?


UDPATE:

我能够以更小的规模复制这个问题.这是如何做:

  • 创建一个新的工作簿
  • 将工作表1重命名为"摘要"
  • 将工作表2重命名为"数据"
  • 在VBA编辑器中打开摘要表并粘贴以下代码:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Parent.Range("worksheetDate") = Target Then
          Application.CalculateFull
       End If
    End Sub
    
    Run Code Online (Sandbox Code Playgroud)
  • 创建一个新的VBA模块

  • 将以下代码粘贴到新的VBA模块(我很抱歉-我不能让堆栈溢出正确格式化这个对我的生活-这是我能得到它做的最好的)
    .

     Function getWeekValue (weekNumber As Integer, valuesRange As Range) As Integer   
    
     Dim aCell As Range  
     Dim currentDate As Date  
     Dim arrayIndex As Integer  
     Dim weekValues(1 To 6) As Integer  
    
     currentDate = ThisWorkbook.Names("worksheetDate").RefersToRange.Value
     arrayIndex = 1  
     For Each aCell In valuesRange 
         If month(currentDate) = month(ThisWorkbook.Sheets("Data").Cells( _  
                                       aCell.Row - 1, aCell.Column)) Then
             weekValues(arrayIndex) = aCell.Value 
             arrayIndex …
    Run Code Online (Sandbox Code Playgroud)

excel vba excel-2007 excel-vba

10
推荐指数
1
解决办法
5万
查看次数

刷新所有图表而不闪烁

目的是在重新计算单元格后刷新Excel中的所有图表.

我使用Microsoft Excel 2010.

我们知道,有一个错误?在Excel中,即使之后Excel也不会更新图表

Application.CalculateFullRebuild
Run Code Online (Sandbox Code Playgroud)

一个已知的黑客是做这样的事情:

Application.ScreenUpdating = False
Temp = ActiveCell.ColumnWidth
ActiveCell.Columns.AutoFit
ActiveCell.ColumnWidth = Temp
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)

这确实有效.但是,所有Excel图表都会闪烁(更新时它们会变白).你能告诉我,有什么方法可以避免这种眨眼吗?

我试着打电话

.Refresh
Run Code Online (Sandbox Code Playgroud)

在所有图表上(https://msdn.microsoft.com/en-us/library/office/ff198180(v=office.14).aspx):

For Each ChartObject In ActiveSheet.ChartObjects
    ChartObject.Refresh
Next
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我的Excel(2010)显示错误#438"对象不支持此属性或方法".

你能告诉我,我是否会错过重要的事情?

excel vba excel-vba

4
推荐指数
2
解决办法
3万
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

excel-2007 ×1