使用VBA,我想创建一个宏,该宏将在运行宏之前绘制所选区域。我有一个宏,可以每次绘制相同的数据选择,但是我希望它绘制一个选择。我的当前代码如下。谢谢。
Sub AddChart()
'
' AddChart Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
With ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=375, Top:=75, Height:=225)
.Chart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B9")
.Chart.ChartType = xlXYScatter
End With
End Sub
答案 0 :(得分:1)
如果您希望将当前的selected
单元格转换为图表,则可以使用Application.Selection。当您选择一个或多个单元格时,Application.Selection将返回一个范围值。我们可以直接将其输入源代码。
我们检查typeOf
,以确保当前选择的范围避免任何讨厌的错误。
Public Sub AddChart()
'
' AddChart Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
If TypeOf Selection Is Range Then
With ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=375, Top:=75, Height:=225)
.Chart.SetSourceData Source:=Application.Selection
.Chart.ChartType = xlXYScatter
End With
End If
End Sub
答案 1 :(得分:0)
如果我正确理解:
Sub AddChart()
'
' AddChart Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
Dim auxStr As String
auxStr = InputBox("Enter valid cell range, like A1:B9")
With ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=375, Top:=75, Height:=225)
.Chart.SetSourceData Source:=Sheets("Sheet1").Range(auxStr)
.Chart.ChartType = xlXYScatter
End With
End Sub
您也可以添加其他变量,例如Left,Width等。全部使用输入框。当然,如果您需要编辑大量变量,则模态用户窗体将更易于维护,并且是避免错误输入的正确方法。