【发布时间】:2013-08-02 09:38:05
【问题描述】:
谁能教我如何在 CurrentRegion 属性中选择多个列,以便我可以基于它创建条形图
以下是我到目前为止的进展.. 但是它不起作用
Public Function FourthTable()
Dim Source As Workbook
Dim Search As Range
Dim CR As Range
SRT = "Service Request Tickets (IIT)"
Set Source = Workbooks.Open("C:\Users\HP\Desktop\test.xlsx")
Source.Worksheets("Sheet1").Activate
Set Search = ActiveSheet.Cells.Find(SRT)
Source.Worksheets("Sheet1").Range(Search.Address).Offset(2, 0).CurrentRegion.Activate
ActiveCell.CurrentRegion.Columns.Range("A:A,
C:C").Resize(ActiveCell.CurrentRegion.Rows.Count - 1).Select
ActiveSheet.Shapes.AddChart.Select
'ActiveChart.SetSourceData
Source:=ActiveWorkbook.Sheets(1).Range(Search.Address).Offset(2,
0).CurrentRegion.Resize(CR.Rows.Count - 1, CR.Columns.Count)
ActiveChart.ChartType = xl3DBarClustered
With ActiveChart
.Perspective = 0
.Elevation = 15
.Rotation = 20
.RightAngleAxes = True
End With
ActiveSheet.ChartObjects(1).Activate
ActiveSheet.ChartObjects(1).Cut
With Sheets("Sheet2")
.Select
.Range("A34").Select
End With
ActiveSheet.Paste
Source.Close SaveChanges:=True
End Function
我得到的错误信息是应用程序定义或对象定义的错误
我要选择的列是 A 列和 C 列。我无法通过指示“A34”或“C34”等单元格的地址来选择列,因为表格数据是使用程序工具生成的,并且因此表数据的位置每次都不同
下图是我参考的表格数据
【问题讨论】:
-
您要调整大小还是选择? activecell.currentregion.column 返回活动单元格的列号,该列号位于找到 srt 的单元格下方 2 行。从那里你告诉它选择 A 列和 C 列。如果我遗漏了什么,我很抱歉,但我不确定你想做什么。
-
我的意图是使用 CurrentRegion 属性选择整个表数据并调整它的大小,使 B 列和最后一行不包含在我的选择中。从这里我可以根据我的选择创建条形图。我不确定我是否做得正确
标签: excel charts multiple-columns vba