見習いエンジニアがゆく

見習いエンジニアの勉強帳 VBA・NWなどなどITの勉強用ブログです。のんびり、のんびり。

Excel VBA 入門編1.1 とにかくコードを書いて、学びましょう

こんばんは。ハイルナーです。

VBAに興味がありつつもなかなか勉強ができないって方はたくさんいると思います。私も、ず~っと勉強しないとなぁと思いつつそのままでした。ある程度コードは読めても実際に何かを作るとなるとお手上げ状態です。

プログラミングの学習において、とにかく自分で考えて、コードを書くのが一番の近道かと思い、ブログでアウトプットしながら勉強をしようとこのブログを始めました。

 

まずはVBAを使って、シートの値を別シートにコピーするプログラムから、VBAのいろいろなコードの記述方法を学んでいきたいと思います。

また、私が書いたいわゆるクソコードってやつで、皆さんと一緒に勉強・成長したいと思っていますので、よろしくお願いいたします。

※VBEの設定などについては、後日記事にしたいと思います。

 

 

学習内容

今回VBAで記述するコードでは、以下のことを勉強できれば良いかな、と考えています。

 

  1. VBAとは・VBEの設定・コードの書き方
  2. 変数
  3. シートの追加
  4.  シート名の指定
  5. 最終行数の取得
  6. 最終列数の取得
  7. For文 などなど

 

Excelのシートの準備

VBAで処理を行うExcelのシートですが、「元データ」という名前のシートに以下のような値を入れました。 

f:id:melancholy198x:20181231020557j:plain

Excel 「元データ」シート サンプル

A列、B列、C列は適当な値で問題ないです。行数も適当で問題ないです。

ただし、A列は年月日時分のフォーマットにしてください。

 

プログラムの仕様

コードを記述する前に、どのような処理を行うプログラムなのかを定義したいと思います。

 

<仕様>

  • 元データシートの値を新しく追加した分析シートにコピーする
  • すでに分析シートがある場合はエラーMsgを表示させる
  • 分析シートにて、A列の「年月日時分」から「年月日」、「曜日」「時分」の値を取り出し、D列、E列、F列に代入する
  • 分析シートの体裁を整える

 

<処理>

  1. シートを追加してシート名を「分析」にする ※すでに「分析」シートがある場合は、エラーMsgを表示
  2. 「分析」シートに「元データ」シートのデータをコピーする
  3. 「分析」シートのD1セルに「年月日」、E1セルに「曜日」、F1セルに「時分」という文字列を代入する
  4. 「分析」シートのA列の値「年月日時分」から「年月日」を取り出して、D列にyyyy/mm/ddの形式で代入する
  5. 「分析」シートA列の値の「曜日」をE列に代入する
  6. 「分析」シートA列の値「年月日時分」の「時分」をF列に代入する
  7. 「分析」シートの列幅などの体裁を整える

 

途中までのVBAコード

これから記述していくVBAのコードは、途中までですが以下の通りです。

 

次の記事から実際にコードを書きながら、VBEの設定、変数、シートの追加・名前の指定、最終行・最終列の取得方法などを学んでいく予定ですので、よろしくお願いいたします。