Excel VBA > VBA:実務活用

VBA:実務活用

このエントリーをはてなブックマークに追加

シート内にある全セルの文字数を取得する(ループ未使用版)

「Range,Cells」と「Resize」のセル範囲指定を比べてみる

「Range、Cells」と「Resize」は共にセルの範囲を設定等する際に登場するプロパティですが、その違いが明確に分かってなかったので自身への確認を込めて比べてみました。

動的なコントロールの「Enter」、「Exit」を疑似的に検知する

今回の説明では、動的に配置したコントロール(テキストボックス)では、持っていない「Enter」、「Exit」イベントを疑似的に取得する方法についてです。仕掛けは簡単ですが、それゆえか、クラスモジュール不要で実現できます。

できるだけファイルをコピーされたくない時の対策について考える

作ったシステムなどが契約しないところへ送られて使用されるのを避ける方法と言うのはExcelファイル単体で見ると結構難しいと感じています。100%防げる方法ではございませんが、こちらのページではできるだけ防ぐということを前提に「コピー対策」を考えてみました。

Listboxに10列以上を追加するとき

Excel VBAでリストボックスを使うときに列数の制限で困ったことはないでしょうか?この列数の制限を配列を使って解決できる方法を紹介します。

Like演算子(「○○が含まれない」検索)で気を付けること

Like演算子で気づいたことがあり、もう少し調べてみると、忘れないよう気を付けるべき点として押さえておく必要が出ました。Like演算子を使った「文字列が含まれない」検索をしている方で、もしもご存じない方は注意です。

ListBoxに長い文字列を設定するとき

リストボックスには一定以上の文字数が表示(AddItem)できないというデメリットがありますが、これを回避することは可能です。こちらでは50万文字まで試してみましたが表示できました。

Excelで作ったツール・システムをできるだけ外部から管理する方法はあるか?

Excelは基本的にスタンドアローン用ですね。従いプログラムを配布した後にそのプログラムを管理することがとても困難になります。最近ではインターネット接続が当たり前という状況なので、このネット経由でどこまでできるのか考えてみました。

「RowSourceプロパティを設定できません。プロパティの値が無効です。」エラーについて

コーディングをしているとエラーはつきものですね。今回のエラーは前回も紹介したリストボックスでのデータ表示に関する部分です。データが表示できなくて困っている方の参考になれば幸いです。。

DictionaryでKey(キー)やItem(アイテム)をループして取得する方法3種類

頻繁にではないですが、Dictionaryを使うときに、値を設定と取り出しをふと忘れてしまうことがあります。(弊社の場合)使い方は基本的に決まったパターンなので、まとめました。サンプルはセルとの連動とかあると分かりずらいのでシンプルさを優先しています。

ハイパーリンクのクリックでマクロを実行する

ハイパーリンクを使ってマクロを実行したいと思う方は実は結構いらっしゃるのではないでしょうか?マクロ利用者目線で見ると、ホームページ上で頻繁に見かける「リンク」同様の考えで処理できるというのは勝手もよいものと思います。

「Listプロパティを設定できません。種類が一致しません。」エラーについて

VBAをしているとエラーはつきものですが、たまにエラー内容からでは解決できないエラーに遭遇します。今回のリストボックスのエラーもこの手のエラーでした。

文字列の連結で時間がかかるとき

文字列の連結で恐ろしく時間がかかってしまうということがある方はMIDステートメントを試してください。劇的に改善されることが期待できます。

コーディングの前に知っておくと便利なこと

VBAのエディタでコーディングするときに、ちょっとしたことで可読性をできるだけ引き上げようみたいなお話です。実際に使っている方法なので、興味ある方はお試しください。

「エラー」と言われても自分のPCでは動くとき

エラーはいつになっても嫌なものです。しかもそれがお客さんの環境でしか発生しない場合は尚更ですね。このページでは少しでもエラーの原因に近づけるかもしれない点について説明しています。

Excelで予約システムは作れるか(再考)

本ページは先日書いたExcelでの予約システムについての問い合わせが増えてきまして、再考版です。予約と言う仕組みがExcelには向いてない気もしますが、それでも敢えて「Excelを絡ませるとどんなことが考えられるのか」を考えてみました。

Excelで会議室の予約システムを開発したときの感想

Excelで予約システムを開発しました。開発していくさなかで、Excelでの仕様はどこまで耐えうるのかと疑問を持ちました。そもそもインターネットとの連携システムを売りにしていること自体を見直すいいきっかけとなりました。

Excelの表をHTMLテーブルとして出力する

Excelの表をHTML化するのは、書式やW3Cに則った文法など細かい点を除くとそれほど難しくなかったりします。ここでは簡単なサンプルを用意しましたので興味関心のある方は参考にしてください。

システム化するほどExcel化離れする!?

弊社ではExcel慣れしていることもあり、ちょっとした作業でも繰り返し量が大量であるとExcelである必要がないにも関わらずガンガンとExcel(VBA)プログラムを開発して、Excel経由で処理させていますが、これは趣味、嗜好的領域であり、一般的ではないと言えるでしょう。Excelでのシステム開発は、これまで容易なものから難易度が高いものまで色々経験してきました。そこで気づいた点について説明します。

エラートラップ自体が持つ罠!?

エラートラップはある意味、エラーを隠せるので便利です。ですが、なんでもかんでもエラートラップすると逆に困難な部分も出てきます。では困難とは一体何でしょうか?こちらのページではそれについて説明いたします。

Excelとホームページの関係について概要

Excelとホームページの連携についてうんちくしています。コードの説明はありませんが、Excelとホームページ(Web)の関係が分からない方は、ここの説明で少しは理解いただけると思いますので参考にしてください。

実行時エラーと論理エラーについて

マクロ記録やVBAでエラーの連発に辟易したことはないですか?集中しているタイミングでこのエラーが表示されると一気に気持ちが萎みこともしばしばです。しかしエラーの基本的なことを予備知識として押さえていくことである程度は「気持ちの緩和」が望めるかと思います。

シート上に保存した画像をファイルとして開く

シート上に追加した図形(オートシェイプ)を画像として他のファイルなどに活用したい場合があった場合に少しだけ便利な機能があります。Excel2010(多分2007も)のファイル形式を利用したものですが、知っておくと何かの時に役に立つかもしれません。