ドットインストールでプログラミング勉強55日目(Excel VBA入門開始)

SNSやってます。

来週の月曜日から日系商社で仕事です。

Excel を多用する職場で、以前働いていた時も複雑な数式やVBAでマクロプログラムをいくつか作って動作させていました。

こんにちは、SPF36のダイ(@daijirok_jp)です。

という事で、今日はドットインストールで「Excel VBA入門(全19回)」を個人的な復習も兼ねて勉強を始めました。

もしかしたら自分の知らないテクニックの解説がしてあるかもという期待もあります。

本日の学習結果

「Excel VBA入門(全19回)」の下記

  • #01 Excel VBAとはなにか?
  • #02 Visual Basic Editorを使おう
  • #03 はじめてのExcel VBA
  • #04 セルに値を表示してみよう
  • #05 複数のセルに値を表示してみよう
  • #06 Withで命令をまとめてみよう
  • #07 セルの値を取得してみよう

の勉強をしました。

現在のドットインストールでの学習状況

総完了レッスン数:310

視聴時間:13:01:37

学習日数:70日

マイページ:http://dotinstall.com/users/daijirok_jp

#01 Excel VBAとはなにか?

Excel VBAとはExcelを自動化するプログラムの事。

下記の用語は覚えておく必要がある。

  • Excelのセルやブックをオブジェクトと呼ぶ。
  • プロパティは属性でオブジェクトの色やフォントの大きさなどの設定の事。
  • メソッドとは処理のことでオブジェクトの削除やコピーをする事。

#02 Visual Basic Editorを使おう

エクセルの ツール → マクロ → Visual Basic Editorで表示できる。

#03 はじめてのExcel VBA

Excel VBAを書く上での簡単なルールの説明

  • コメントは行頭に「’」を書く。
  • 行末には何も書く必要がない。
  • 改行時は 「 _ 」(スペースとアンダーバー)を書いてから次の行に引き続き記載する。

#04 セルに値を表示してみよう

  • Worksheets(“Sheet1”).Range(“A1”).Value Sheet1のA1の値を指定
  • Range(“A2”).Value  A2の値を指定
  • Cells(3, 1).Value 要するにA3の値を指定
  • Cells(3, 1).Offset(1, 0).Value A3の一つ下でA4の値を指定

#05 複数のセルに値を表示してみよう

  • Range(“A1”, “B3”).Value A1からB3までのレンジの値を全て指定
  • Range(“A1:C3”).Value 上記と同じ意味だが簡単な書き方
  • Range(“4:4”).Value 列番号4の全値を指定
  • Range(“C:C”).Value 行Cの全値を指定
  • Cells.Clear 全てのセルの値をクリア

#06 Withで命令をまとめてみよう

Range("A2").Value = "hello World"
Range("A2").Font.Bold = True
Range("A2").Font.Size = 20

はWithを使うと

With Range("A2")
  .Value = "hello"
  With.Font
    .Bold =True
    .Size = 16
  End With
End With

とすることができる。

#07 セルの値を取得してみよう

  • MsgBox (Range(“A1”).Value)  A1の値をポップアップで表示

ただ、これは値を取得していると言っていいのか?変数に入れてこそ取得したと言えると思うんだが、、。

感想

Excel VBA がどうというより Excel2016 for Mac が使いにくくてたまりません。

Dotinstall で使われているのは Excel2011 for Mac ですが、それよりも使いにくいと思います。

Subごとに平行線を引いてくれませんし、絶対参照と相対参照を簡単に変更するボタンがなかったり挙げ句の果てには日本語でコメントが書けなかったりします。

おまけにレッスン#07まで進めた時点でxlsmファイルがフリーズして、ファイルを削除しなければならなくなりました。

結局xlsでファイルを作成しなおしてやり直しました。

Excel 使いたかったら Windows PC 買って、それで動作させてね!

と言われているような気がしてなりませんでした。

明日の勉強予定

引き続き「Excel VBA入門 (全19回)を進める事にします。

多分明日で終わらせる事ができそうです。