タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

VBAに関するyukisaltoのブックマーク (6)

  • オブジェクト指向プログラミングに関して、VBAで出来ないこと - だるまのエクセルVBA

    ここでは、オブジェクト指向プログラミングに関して、VBAで出来ないことについて説明します(※1)。 VBAでオブジェクト指向プログラミングをするときは、設計段階でVBAで何が出来ないのかを把握しておく必要があります。 出来ないことを他の方法で回避しようとすると、ソース行数が増えたり、デバッグが面倒なことになるということを覚えて欲しいです。 (実装や単体テストに工数がかかるようになるということを覚えて欲しいです。) ※1:出来ることを説明するのではなく、出来ないことを説明する理由は、GoogleVBAのヘルプにて、出来ることを調べるのは意外と簡単なのですが、出来ないことを調べるのはとても難しいからです。 (出来ないことはヘルプに載っていないことが多く、検索条件が悪かったのかの判断が難しいためです。) 1.継承がサポートされていない VBAでは継承がサポートされていません。 ※1

  • VBAのクラスモジュール上でInterfaceを利用する - Qiita

    概要 退っ引きならない事情などでVBAを利用せざるを得ない場合に、 堅くプログラミングするためにInterfaceを使う方法です。 やり方 まずはインターフェースを作成します(クラスモジュールとして作成します) VBAでおなじみのハンガリアン記法でも問題ありませんが、通常クラスと区別するためにC#の命名規則に従ってインターフェース名を I 始まりとしています。

    VBAのクラスモジュール上でInterfaceを利用する - Qiita
  • Excel VBA 入門講座 検索 Find

    Sub Search() Dim lngYLine As Long Dim intXLine As Integer Dim Obj As Object Set Obj = Worksheets("Sheet1").Cells.Find("りんご") If Obj Is Nothing Then MsgBox "りんごは見つかりませんでした。" Else lngYLine = Worksheets("Sheet1").Cells.Find("りんご").Row intXLine = Worksheets("Sheet1").Cells.Find("りんご").Column MsgBox "りんごは、" + CStr(lngYLine) + "行目の" _ + CStr(intXLine) + "列目にあります" End If End Sub Sub Search() Dim lngYLine

  • VBAで覚えておくデータ構造 - 静的配列・動的配列・ディクショナリ - いろいろ解析日記

    VBAで必要なデータ構造の覚書です。 目次 静的配列 静的配列を生成する。 静的配列にデータを格納する。 静的配列からデータを取得する。 静的配列中のすべてのデータに同じ処理をする。 動的配列 動的配列を生成する。 動的配列のサイズを設定する。 動的配列にデータを格納する。 動的配列からデータを取得する。 動的配列中のすべてのデータに同じ処理をする。 ディクショナリ ※Microsoft Scripting Runtimeの参照設定 ディクショナリを生成する。 ディクショナリにデータを格納する。 ディクショナリからデータを取得する。 ディクショナリ中のすべてのデータに同じ処理をする。 関連記事 静的配列 静的配列は複数件のデータを扱うためのデータ構造です。 静的配列では、生成時にサイズ(格納するデータの個数)を決めます。いったん静的配列を生成すると、後からサイズを変更することはできません。

    VBAで覚えておくデータ構造 - 静的配列・動的配列・ディクショナリ - いろいろ解析日記
  • モダンなVBAの書き方

    「糞VBAコードのメンテナンスが減りますように。なむなむ」 VBAは、非常に古い(VB6ベース)の言語なので、既存のコードは、非常に読み難い物が多いです。しかし、最近、ちょっとしたことをVBAで書いちゃうというソリューションは、案外一般的になりつつあるように思います(これ自体は悪いことではないと思う)。新しく書くVBAのコードをどう書くべきか?という自分なりの意見を纏めてみました。これは、VBAで完全なOOPをしろと言っているものではなく、単純な構造化された小さい関数を組み合わせてプログラムを書く方針(関数型言語のことではない)を勧めるものです。 変数宣言を強制する! これは、自分のため。とにかく書く。オプションで設定しておけば自動で挿入される。 変数宣言は、必要になったところで宣言する! そのコードを読む人に、いちいち、関数の先頭までスクロールさせるな。変数の有効範囲をなるべく狭くするこ

  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
  • 1