我还是VBA的新手,到目前为止,我已经设法通过一些在线帮助完成了我的任务,但是这个对我来说太遥远了。
此处的示例表:http://s000.tinyupload.com/index.php?file_id=50923272994978624314
我想要做的是 - 如果A栏包含该月的任何最后日期(2015-01-31,2015-02-28,2015-03-31,2015-04-30,2015) -05-31,2015-06-30,2015-07-31,2015-08-31,2015-09-30,2015-10-31,2015-11-30,2015-12-31),选择无论哪个那些日期列具有(选择具有这些值的单元格精确),在B列中选择相应的单元格(例如,如果A10中有2015-04-30,也选择B10值)并创建图表(简单2D)群集列)具有选定的值(横轴上的日期,纵轴上的金额)。
想法是有一个图表显示每个月末的总金额(因为B栏中的值是累积的),手动操作很简单 - 查找当月的最后一天并查看货币价值对应的B列,然后在工作表中的月份中的任何最后一天重复并创建图表。但我每天都会这样做,所以我试图将其自动化(通过宏)。
答案 0 :(得分:0)
如果你想要一个vba解决方案,试试这个:
Sub Month_Chart()
Dim mydate As Date
Dim myRange, totrange As Range
Set totrange = Range("A1:B1")
'Select Dates based on selection
For Each c In Selection
'Build date
mydate = DateSerial(Left(c, 4), Mid(c, 6, 2), Mid(c, 9, 2))
'Check last day of month
If Day(mydate + 1) = 1 Then
'Create Range
Set myRange = Range(c, c.Offset(0, 1))
Set totrange = Union(totrange, myRange)
End If
Next c
'Create Chart
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=totrange
End Sub