你好,我想提出一个宏来绘制一些数据,关键是要接收来自用户的两列绘制,我第一次尝试用两个输入框得到这个值:如何使用活动列绘制以下数据?
first = InputBox("first column", "Enter a Column")
two = InputBox("second column", "Enter a Column")
这种方法的问题是我必须做的,以绘制如下:
Set rng = .Range(first + "2:" + first + "84," + two + "2:" + two + "84")
这样做是为了获得价值则 与“2”和“84”这是我的范围串连它, 我想使这个宏更灵活,因为我总是使用从2到84的相同范围,我不'不懂很好活跃列,我想感谢任何建议,以克服这种情况,我的完整代码如下:
Sub ALL()
Dim ws As Worksheet
Dim rng As Range
Dim objChrt As ChartObject
Dim chrt As Chart
Set ws = ThisWorkbook.Sheets("DATA")
With ws
first = InputBox("first column", "Enter a Column")
two = InputBox("second column", "Enter a Column")
Set rng = .Range(first + "2:" + first + "84," + two + "2:" + two + "84")
.Shapes.AddChart
Set objChrt = .ChartObjects(.ChartObjects.Count)
Set chrt = objChrt.Chart
With chrt
.ChartType = xlColumnClustered
.SetSourceData Source:=rng
End With
End With
End Sub
我不t完全可以得到这个问题,但也许你可以使用'Set rng = Application.InputBox(prompt:=“Select a cell”,Type:= 8)'https://msdn.microsoft.com/en-us/library/office /ff839468.aspx?f=255&MSPPError=-2147217396 – Slai
谢谢,我很欣赏支持的主要想法是获得两个范围只是在飞行中选择列。只需选择两个具有相同尺寸的列。 – neo33
您是否尝试过:'.SetSourceData Source:= Selection' –