データベースって本格的過ぎ。Excelでいいじゃん

データベースの中でAccessは、Excel見たいにデータを扱えるため何となく使う。または、ネット上の情報も多いためデータベースという新しい分野(SQL言語)に何となく使いはじめる。

本来、データ量が多くてコンピュータが重くなった時にデータベースへの移行すればいい。データベースは、必要なデータを行単位でメモリに呼び込む。呼び込む単位が小さいためにコンピュータが重くなることは無い。

基本的にExcelは全てのデータをメモリに呼び込んで処理する。データを見ながら必要最小限のデータに絞ればExcelの方がデータベースより簡単に処理できる。

図面や画像、動画もExcelのセルの中にリンクすればいい。画像などのファイルは大きいため特定のフォルダで管理すればメモリを食うことは無い。

2013からリレーションシップまでできる。もう、Excelってデータベースでしょう。メモリをガンガン積んで快適。

エクセル、コマンドボタンのセルの位置

マクロ、VBAの話です。

Excelでデータの位置は、セルのアドレスもあるが、名前を登録する方法もある。
アイデアとして、コマンドボタンのセルの位置と処理するセルを関連させること。
データのセルを変えたら、コマンドボタンも移動することで処理するセルの位置がコマンドボタンと相対的に一定になるようにコマンドボタンを配置する。。
コマンドボタンはユーザーフォーム用を使うより、ActiveXコントロールが簡単だ。


フォームコントロールは、ユーザーフォームに使う。シートに貼り付ける場合は、ActiveXコントロールがいい。

ActiveXコントロールだと、シートのオブジェクトとしてイベントを拾える。

コマンドボタン(CommandButton1)のイベントプロシージャ

Option Explicit

Private Sub CommandButton1_Click()
    Debug.Print Me.CommandButton1.Caption
    Debug.Print Me.CommandButton1.TopLeftCell.Address
    Debug.Print Me.CommandButton1.BottomRightCell.Address
End Sub

イミディエイトウィンドウの出力

CommandButton1
$A$2
$C$4