在很多时候我们设计的表格显示不出我们所有的数据,下面就是柱状图的显示多列数据,他因为每张图表显示的数据量有限,这里通过两个翻页按钮来实现数据图表的分页动态显示,实例如下:
Dim chartdat As Range
Dim cht As Chart
Dim chartlist() As String, listmsg() As String
Dim i, ii, lastrw, endrw, lastcl
Load UserForm10
Sheets("表1").Select
If pbpagenm < 4 Then pbpagenm = 1
lastrw = Sheets("表1").Range("a1").End(xlDown).Row
lastcl = Sheets("表1").Range("a1").End(xlToRight).Column
If pbpagenm + 60 > lastrw Then
endrw = lastrw
Else
endrw = pbpagenm + 60
End If
Sheets("表1").Select
With Sheets("表1")
If chartdat Is Nothing Then
Set chartdat = .Range(.Cells(pbpagenm, 1), .Cells(endrw, 4))
End If
End With
Sheets("图表").ChartObjects(1).Delete
Call creatchart1("图表", chartdat, 50, 50, 1000, 500, i)
'Set cht = Sheets("图表").ChartObjects(1).Chart
'cht.SeriesCollection(1).XValues = Range(Sheets("表11").Cells(1, 2), Sheets("表11").Cells(1, lastcl))
'cht.Axes(xlCategory).ReversePlotOrder = True
Set currentchart = Sheets("图表").ChartObjects(1).Chart
fname = ThisWorkbook.Path & "\tdxjietu1.JPG"
currentchart.Export Filename:=fname
UserForm10.Image1.Picture = LoadPicture(fname)
UserForm10.Show
下面是增加两个翻页按钮,向上或向下,当然这里必须要设定一个公共变量pbpagenm ,设置公共变量比用通过参数传递的函数比较容易处理。每页显示数据是60栏,为避免数据运行错误,在王后翻页是设定必须小于最大列数。
Private Sub CommandButton6_Click()
pbpagenm = pbpagenm - 60
End Sub
Private Sub CommandButton7_Click()
Dim lastcl
lastcl = Sheets("表1").Range("a1").End(xlToRight).Column
If pbpagenm < lastcl - 60 Then
pbpagenm = pbpagenm + 60
Endif
End Sub