Mary's memo

    お勉強の備忘録と日々の気づきを描く

[vba] データ移動とコピペ, グラフについて追記

今回も個人用のメモ。
まずはworkbookやsheetについて、データを移動させたりコピペする方法を残します。
マクロの記録機能を使えば出てきますが、いちいち確かめるのが面倒なので記しておきます。

    Range("E3").Select 'コピーしたいデータ列の先頭
    Range(Selection, Selection.End(xlDown)).Select 'データの最終行まで選択
    Application.CutCopyMode = False
    Selection.Copy 'コピー
    Windows("ACF.xlsm").Activate '開いているworkbookの名前, 必ず拡張子まで記す, windows→workbooksも可
    Cells(3, 9 + i).Select 'アクティブなブックのセル(貼り付け先選択)
    ActiveSheet.Paste '貼り付け

それから、種々のグラフに関する覚え書き(追加)です。
グラフの番号を指定することを新たに知りました。

Worksheets(i).Activate '開いているブックの中でsheet名によらず, その番号でsheetを指定できる
shtnm = ActiveSheet.Name 'アクティブなsheetの名前を得る
booknm = ActiveWorkbook.Name 'アクティブなbookの名前を得る(ただし拡張子まで含まれるので注意)

With ActiveSheet.Shapes.AddChart.Chart 'ここからグラフについて
.ChartType = xlLine '折れ線グラフ
:
ActiveSheet.ChartObjects(2).Top = Range("a18").Top '挿入するグラフがグラフ2なのでこう書ける
ActiveSheet.ChartObjects(2).Left = Range("a18").LeftEnd With
ActiveWorkbook.Save 'アクティブなブックを保存する

最近, 信号処理のprogramをvbaで書いてみたりしています。
できるようになったことが少しずつ増えてきて, 研究のし甲斐も同時にでてきました。
これからもコツコツ頑張っていきたいと思います。

以上!

f:id:cMary:20190331183211p:plain
同期女子会で食べまくった肉!