VBA 操作宏的小示例
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub
Sub auto_open()
'
' Macro1 Macro
' 宏由 wb 錄制,時間: 2007-11-5
'
'
Do While ActiveSheet.ChartObjects.Count > 0 '循環把一個表中的所有圖表刪除掉
ActiveSheet.ChartObjects(1).Delete
Loop
Charts.Add
Dim num As Integer '聲明一個Int型對象
Application.OnKey "^c", "" '禁止復制,剪切
Application.OnKey "^x", ""
Application.OnKey "^{INSERT}", ""
num = Sheets("sheet1").UsedRange.Rows.Count ' 獲得行數
Debug.Print num
ActiveChart.ChartType = xlLineMarkers ' 線性
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("D:D"), PlotBy:=xlColumns ' 綁定數據列
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" ' 將圖表放在什么位置
Windows("book.xls").Activate '指定xls 文件
ActiveSheet.ChartObjects(1).Activate '選擇工作表中的圖表
ActiveChart.ChartArea.Select '選中當前圖表區域
ActiveSheet.Shapes(1).Top = Range("A" & num + 1).Top '設置位置
ActiveSheet.Shapes(1).Left = Range("A1").Left
ActiveSheet.Shapes(1).Width = 400
ActiveSheet.Shapes(1).Height = 230
ActiveWorkbook.Save '保存
ActiveSheet.ChartObjects(1).Activate
End Sub