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

マクロ、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

書式とは「見た目」の設定

書式=フォーマット
コンピュータ関係の説明などでもよく見る漢字だ。
「書式」じゃなくて
「見た目」がわかりやすい。
「書式」は、音読み。その音から心に響かない。
やっぱり、
訓読みを使うのがいい。
会話も訓読みがいい。
さらに、
私は、「書式」より、
何となくだが「フォーマット」の方がわかりよい。
フォームとかフォーメーションとかの音と画像(テレビ)が一致するからかもね。

英語単語の記憶でも
Interest 「興味」「関心」
ではなく
Interest 「ほー」とか「おもしろそ」
の方が英会話で「関心」と翻訳せず、
「おもしろい」「ほー」とか心に響くと会話に集中できる
かな?

そもそも中学生で習うInterest。当時「興味」という漢字もシックリ来なかった。だって小学校5年生の国語の時間に習う。https://www.google.co.jp/m?q=%E8%88%88%E5%91%B3+%E7%BF%92%E3%81%86%E5%AD%A6%E5%B9%B4&client=ms-opera-mobile&channel=new&espv=1

最近、respect リスペクト
当たり前のように使われている。
スポート選手がよく使うのかな?
これも「尊敬」より「すげー」とかの方がええ。

データ構造とアルゴリズムのアルゴリズムは楽になった

データを処理する流れは、以下の3つ。

データ構造にデータを入力
↓↓
アルゴリズム(処理手順)
↓↓
プログラムで書式を決めて出力

処理方法や手順のアルゴリズムは、
データの構造によっていろいろある。
現在は、
配列や連想配列などのデータ構造
は、
使うプログラミング言語のライブラリや汎用のライブラリを使う。
(Windwsならインストール済みのライブラリを参照設定して使う)
処理手順のアルゴリズムについても、
データ構造のクラス自体が処理する機能(抽出、並べ替えなど)を持っているので、
アルゴリズム(処理手順)を書くコードの量は、減っている。Ruby浸かって思う。
Excel使いのためのデータ構造とアルゴリズムの説明

プログラム言語の共通知識と各言語の仕様

大きくわけると
1,プログラム言語の共通知識

2,各言語の仕様
の2つに分けれる。

例えば、ExcelのVBAなら
1,プログラム言語に共通する基本的な知識
If文や繰り返しなどの制御や変数、アルゴリズム(処理手順)の知識
2,VB言語の知識
Excel VBAはVBのVer6相当で64ビット仕様を追加してVer7かも

さらに、
3,Excelのオブジェクトの知識
JAVAならライブラリの知識

コンパイルエラー

プログラムのエラーは2つある。google
1,コンパイルエラー
2,実行時エラー
「コンパイルエラー」が起こると「実行時エラー」になることはない。
コンパイルは実行可能な状態にすることなので、実行前に必ず行う処理だ。

コンパイルは、
実行する前の文法上のエラーをみつける。
単純な入力ミスが無いか、扱う変数の型はふさわしいかチェックする。
型とは、メモリ上に占める大きさとも言える。
コンパイルの時点では、変数には値が入っていない。
だから、
変数に値を入れてみてエラーになることがある。
これは、「実行時エラー」だ。

データ構造とアルゴリズムをExcelで説明

データ構造:データをある規則でまとめた表や木構造など
アルゴリズム:処理手順
これらの2つは、プログラムを作る時に勝手に使っている。
Excelを例にすると、
表の中にデータを入れたらそのデータ構造
その表を並び替えたり、一部を取り出したり、付け加えたりとプログラム言語では無く、マウス操作で処理できる。マウス操作が処理手順(アルゴリズム)。

Excelでは、
データ構造:表
アルゴリズム:マウス操作