とりにくを好きな人がVBAを勉強しています。

VBAを中心に、その他日々の生活で感じていることを書いていきます。

【VBA】入力フォーム(タブストリップ編)

おはようございます。こんにちは。こんばんは。
いろいろ調べてわかったことをブログに書くと、誰に見られるわけでもないですが、自分のためになると気づいて、パソコンに向かう時間が増えてきたとりにくVBAです。



さて、仕事で入力フォームを作ろうかなと考えていた時に、ふと、タブのついたやつができたら便利かもと思って、調べてみました。


タブストリップ

タブストリップって何?という方、いらっしゃるのではないでしょうか?
私も今回調べてみて、初めてその名称を知りました。
以下のようなものです。

f:id:mayo032j:20200523125238p:plain


実際、こういうのは使わなくてもだいたいのものは作れちゃうような気がしますが、使えるとアイディアの幅が広がると思います。


最初の壁

まず私が考えたは、タブの数を増やすことです。
最初は2個ついてますね。


フォームをいじる時はだいたいプロパティだろうと私は勝手に思っているので、プロパティウィンドウを見てみます。

f:id:mayo032j:20200523125729p:plain


えー、いろいろいじくってみましたが、変化しませんでした。
今回はここではなかったようですね。



調べてみると、右クリック!!
f:id:mayo032j:20200523174300p:plain



ちょっと予想外です。
ページを追加・削除、名前の変更、移動ができました。
今度から何か試してみるときは、右クリックも選択肢に入れておこうと思います。


タブストリップのデータを扱う

タブの中のデータを扱うにはどうしたらよいのでしょうか?


どうやら、タブには0から順番に番号が振られているようで、
その番号はTabs(番号)という形で使えます。
また、タブについている名前をTabs(番号).Captionで扱えるようです。
さらに、Tabstrip.Valueでは現在選択されているタブの番号が得られます。


フォームを作ってみよう

さて、ここまでわかったことでとりあえず何かを作ってみることにしました。

完成品がこちら。


f:id:mayo032j:20200524065438p:plain

各人について、身長と体重が入力された表があります。
人の名前とタブの名前が一致しています。(連動しているわけではありません)


f:id:mayo032j:20200524065519p:plain

入力ボタンで、データの上書きができます。




コードはこちらです。
f:id:mayo032j:20200524065828p:plain


f:id:mayo032j:20200524065806p:plain



まとめ

実務でどれだけ使えるかわかりませんが、簡単な使い方は頭に入った感じがします。


コードでタブの数を変更したり、選択されているタブによって表示される内容を変更したりと、いろいろと深めていけそうですね。


今回はこの辺で飽きてしまったので、また興味が湧いたら記事にしたいと思います。



今回参考にさせていただいたのはこちらのサイトです。
とてもわかりやすかったです。
www.officepro.jp





(お願い)
このブログは自分なりにわかったことを投稿しています。
はっきり言って最適解は提示できません。そんな知識はございません。
もし、記事を読んでいて間違った解釈をしているときやすごく回りくどいことをしている場合はご指摘ください。
また、他の方法があるよ!やこういう便利なやり方もありますよ!的な意見はものすごくありがたいです。