簡體   English   中英

Microsoft Excel VBA繪圖宏

[英]Microsoft Excel VBA Plot Macro

使用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

如果您希望將當前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

如果我正確理解:

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等。 全部使用輸入框。 當然,如果您需要編輯許多變量,則模態用戶窗體將更易於維護,並且是避免錯誤輸入的正確方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM