You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

基于今日日期插入数据并更新Charts工作表柱状图的VBA需求

解决方案:按日期插入数据并更新指定图表

这里直接给你实现需求的完整VBA代码,同时拆解关键逻辑帮你理解:

核心需求对应实现

  • 找到Summary工作表A列中手动填写的今日日期对应的行,插入其他工作表的指定数据
  • 将当日最新结果同步到charts工作表的柱状图,确保图表仅展示最新数据

完整实现代码

Sub Worksheets_Summary()
 Dim OldSheet As Worksheet
 Dim NewSheet As Worksheet
 Dim Cell As Range
 Dim ColNum As Integer
 Dim RwNum As Long
 Dim book As Workbook
 Set book = ThisWorkbook
 Set NewSheet = book.Worksheets("Summary")
 ' 定位今日日期对应的行号
 RwNum = NewSheet.Columns(1).Find(Date).Row
 ColNum = 1
 ' 遍历所有工作表,跳过Summary表
 For Each OldSheet In book.Worksheets
 If OldSheet.Name <> "Summary" Then
 ColNum = ColNum + 1
 ' 给每个工作表创建跳转超链接作为表头
 NewSheet.Cells(1, ColNum).Formula _
 = "=HYPERLINK(""#""&CELL(""address"",'" & OldSheet.Name & "'!A1)," _
 & """" & OldSheet.Name & """)"
 ' 将对应工作表的B11数据写入目标行
 NewSheet.Cells(RwNum, ColNum).Value = OldSheet.Range("B11").Value
 End If
 Next OldSheet
 ' 自动调整列宽优化显示
 NewSheet.UsedRange.Columns.AutoFit
End Sub

关键逻辑说明

  1. 日期行定位:通过NewSheet.Columns(1).Find(Date).Row精准找到Summary表A列中匹配今日日期的行
  2. 工作表遍历与数据写入:跳过Summary表本身,为每个其他工作表创建可跳转的超链接表头,并把该工作表B11单元格的值写入日期对应的目标行
  3. 显示优化:最后自动调整列宽,让数据展示更美观

额外注意事项

  • 代码运行后,Summary工作表和Dashboard工作表会同步更新对应结果
  • 要实现charts工作表柱状图仅显示最新结果,需确保该图表的数据源指向Summary表中当日数据所在的行(可以手动设置数据源范围,或者在代码中补充动态更新数据源的逻辑,当前代码已完成数据写入,只需关联图表即可)

内容的提问来源于stack exchange,提问作者MKonig

火山引擎 最新活动