有没有人可以教我如何在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”)来选择列,因为表数据是使用程序工具生成的因此,表格数据的位置每次都在变化
下面的图片是我引用的表格数据
答案 0 :(得分:0)
而不是:
Source.Worksheets("Sheet1").Range(Search.Address).Offset(2, 0). _
CurrentRegion.Activate
使用此选项可收缩所选区域,以便排除数据表的最后一行和最后一列:
Dim tbl As Range
Set tbl = Source.Worksheets("Sheet1").Range(Search.Address).Offset(2, 0). _
CurrentRegion
tbl.Resize(tbl.Rows.Count - 1, tbl.Columns.Count - 1).Select
继续发表评论或删除:
'ActiveChart.SetSourceData Source:=ActiveWorkbook.Sheets(1). _
Range(Search.Address).Offset(2,0).CurrentRegion. _
Resize(CR.Rows.Count - 1, CR.Columns.Count)