VBAの変数名と定数名

VBAで変数を利用しようとしても、どんな名前が適切なのか分からないと迷ってしまうので覚書。

変数名の例 説 明
tmp, temp Temporay (一時的な)。一時的な値をあつかう変数。
num, n Number (数値)。数値をあつかう変数。
str String (文字列)。文字列をあつかう変数。
buf Buffer (緩衝装置)。一時的な値を保管するための変数。
i, j くり返し処理と組み合わせて使う変数。ループカウンタ用の変数の定番。
cnt Counter (カウンター)。件数を数えるときの変数。
msg Message(メッセージ)。文字列を格納する変数。
flag flag (旗)。On (yes) / Off (no) など判定を格納する変数。
arr Array (配列)。配列をあつかう変数。
bk Workbook オブジェクト
sh Worksheet オブジェクト
foo, bar, hoge 適当なサンプルとしての名前。
○○Rng Rangeオブジェクトをあつかう場合
○○Sht Sheetオブジェクトをあつかう場合
my○○ 適当なサンプルとしての名前。
○○List 配列をあつかう場合。

参考

Office TANAKA – VBAの変数[変数の名前について] Office TANAKA - VBAの変数[変数の名前について]

変数関係 – VBレスキュー(花ちゃん) Visual Basic,VS6.0,VB6.0,サンプル,Tips 変数関係 - VBレスキュー(花ちゃん) Visual Basic,VS6.0,VB6.0,サンプル,Tips



To Do 管理マクロを組んで、To Doをこなす量が増えるか?

目 的

To Doを管理するエクセルファイルでマクロを組んだ。その効果を2016年末と現在のこなしたTo Doの数を比較することで検討する。

標的行動

こなしたTo Do の数
BL期間:なし
統制期間:2016/11/26 ~ 12/26
介入期間:2017/3/20 ~ 4/20

仮 説

タスク管理をデジタル化・グラフ化したことで以前よりこなすタスクの量が増えている。

介入手続き

  • エクセルファイル&マクロ作成
    • タスクのデジタル管理
    • 〆切と達成の視覚化

結 果

こなしたタスク数は
年末年始期間:63
マクロ導入後:39
年末年始の方がタスクをこなしていた

考 察

自分の感覚としては、最近の方が数が多い実感があった。
感覚とデータは異なる。時期的な要因は排除できていない。
単純に年末にこなさなければならないTo Doが多かった可能性は否定できない。

その他

時期的要因排除のためには同時期記録が必要
その意味では、データが蓄積されていく仕組みを作れたことは大きい

タスク管理エクセルファイルを開く日数が自然に増加するか?

明確な量的な変更はなかった。
タスクを自動的に管理できるエクエルファイルを作ったのが良かった。

スキルの習得にストーリーを加えるということ

『Excel VBA の神様』を読みました。VBAに関する内容どうこうよりも、技術の習得を目的とした書籍の中で紡がれるストーリーの役割について考えさせられました。



単に情報量を多くするだけなら、文章や表の方が密度が高い、枠組みや関係性を示したいならグラフでこと足りる。この書籍の中でストーリーやキャラクターが果たしている役割とは何だろうか?

これは、演劇を見ながら登場人物の人となりやストーリー、テーマを知っていく様に似ている。役者のダイアローグを聞きながら、その舞台、背景、それぞれの事情を類推していく。これは、余白を埋める行為であるし、自分が余白を埋めるために歩いた距離が、本当の意味で血肉になるということなんだろう。

登場人物の感情が動き、その感情に共鳴し、その場にある面白味のある知識とはいったい何なのかを咀嚼していく。一人黙々と学習したり知識を押し付けられるよりも、自分の心が動き、知識を追い求めていくので、理解が自分の知識構造に馴染みやすかったのだろう。

内容的メモ

以下は、VBAに関するメモです。

キーワードは小文字で入力しても大文字に変換される。そのため、小文字で入力し、大文字に変換されるかどうかで、記述があっているかを確認することができる。

キーワードを途中まで入力し、 [Ctrl] + [スペース] で候補を表示。

文字列は絶対に () で囲んではいけない。

オブジェクトの「.」は、助詞『の』の代わり。動詞は「メソッド」。

名詞(オブジェクト)を「の」の代わりに「.」でつなぎながら、最後に動詞(メソッド)で締めくくって文章を完結する。その文章が「ステートメント」で、ステートメントが集まれば「マクロ」になる。p101

動詞には『対象物』とか、『どのように』という補足情報が必要なケースがある。その補足情報を引数(ひきすう)という。メソッドと引数の間には『半角スペース』を空ける(文言やや変更)

名前を入れたり、色を変えたりすることを「オブジェクトのプロパティを書き換える」と表現する

プロパティの取得:変数 = オブジェクト.プロパティ

ワークシート関数のToday = VBA関数のDate。

& は文字連結演算子。半角スペースを前後に入れる。

VBAの基本構文の三つ、『メソッドの使い方』『プロパティの取得』『プロパティの設定』

変数を定義する

Dim x As Long
x = hoge

という形で変数を定義する。以下、調べた略称の意味。
Dim: Dimension. Long: 長整数型(変数の型)

電車内でiPhone音声入力を使う方法

iPhoneの声入力は便利ですが、使う場所が一人きりになれる状況に限られるというのが悩みでした。そこで、本エントリーでは、iPhoneの音声入力を電車の中で使う方法について提案します。

具体的な方法

基本的には、音声入力をいかに目立たずに行うかという方法になります。今のiPhoneであれば、少々の走行音があってもきちんと言葉を認識してくれます。

  • あまり混んでいない状況を選ぶ
  • 他の乗客と距離の取れるスペースを確保する
  • 電車が動き始めてから入力を開始する
  • イヤホンマイクを使い、マフラーや襟の中に収める
  • マフラーやコートの襟で口元の動きを隠す
    • これは、音漏れ防止の効果や、走行を防ぐ効果も期待していますが、あまり意味がないかもしれません

心や技術の問題

電車の中で音声入力を使って感じたのは、予想以上に気持ちのハードルが影響するということです。最初に音声入力をしたときには周囲の乗客の目が気になり、変に思われてるのではないかとかなりソワソワしました。少し時間が経過していくといつの間に新文章の入力に集中していました。電車の中で音声入力をするという行為自体に慣れる必要があるのだと思いました。

さらに、口元を隠しながら音声入力をしていく技術によってもやりやすさというのは変わってくるのではないかと思います。このエントリーを書くだけでも、音量を調節したり、小さい声でもはっきりと喋るように心がけてみると、認識のされ具合が変わってくるというのが分かります。

音声入力が広まらない理由は「恥ずかしさ」? キーボードが滅びる未来はくるか (1/2) – ITmedia Mobile 音声入力が広まらない理由は「恥ずかしさ」? キーボードが滅びる未来はくるか (1/2) - ITmedia Mobile

個人的の注意点

私は、Evernoteで記事を書きためていますが、電波の悪い所を通っている時に、同期が上手くいかず、このエントリーが一度消えてしまいました。すべての文章をコピーしてからEvernoteを閉じたり、同期をしっかりと確認したりするように気をつける必要があります。

まとめ

音声入力は便利で、それを知っていたにも関わらず、これまでは活用することがほとんどできていませんでした。実生活を便利にするためには、進化したテクノロジーを上手く運用することが重要ですね。今回は冬場限定の方法になってしまいましたが、皆さんも是非お試しください。