[VBA] Excel VBAで円弧を描くのが思ったより大変だった

  • 投稿日:
  • by
  • Category:

「円弧とは何ぞや」という方はまずExcelで描いてみて欲しい。

挿入-図形から「円弧」を選択する

001.png

そしてマウスを適当にクリックすると円弧を描くことができる。

002.png

これが円弧。

マウスで描画するならたったこれだけの話なのだが、これをVBAでやろうとするとなかなか難しかった。

世界で一番わかりやすい記事が既にあるのだが、一発では飲み込めず四苦八苦したため備忘録として残しておく。

[VBA][C#] Dictionaryに何もAddしていないのに勝手にItemが追加される

  • 投稿日:
  • by
  • Category:

【追記】この現象はC#のDictionaryでも起きる様子(記事末尾参照


なんだかんだDictionaryって便利だよね

ExcelのVBAを使う際、(C#でいうところの)Listに相当するものとしてDictionaryをよく使う。

古いプログラムでは配列を使っていることもあるが、項目をAddしたりFor Eachで回したりCountを取ったりをできるだけListに近い感覚で使うことができるDictionaryを使いたい。

Collectionでもいいのだが、機能的にもDictionaryのほうが優れていることもあって積極的な理由がない限りはCollectionは使わないことが多い。

この辺は好みなのでどちらでも構わないのだが、実はDictionaryには大きな落とし穴があり今回見事にはまってしまったのでご紹介しておく。