「StiLL」 デザイン情報167 StiLLコマンド--横スクロールボタンの作り方 | ||||||||||||||||||||||||||||||||||||||
Excelの水平スクロールバーでスクロールをしたくない場合 | ||||||||||||||||||||||||||||||||||||||
■ 横に長い画面を作成したとき、Excelの水平スクロールバーで横にスクロールをすると、操作ボタンまで一緒に動いてしまい、使いにくい場合があります。 そこで今回はボタンを押すたびに、表示する列をずらしていく方法をご紹介します。 |
■ 右矢印ボタンを押すと年月の表示を6ヶ月分先にずらし、左矢印ボタンを押すと6ヶ月分前にずらす機能を例にご説明します。 | ■ セルリンクボタン 「BtCol」 で列を非表示または再表示にすることによって、画面に表示する一覧表の列を制御します。 | ||||||||||||||||||||||||||||||||||||
対応Ver. :StiLL
V9.1以降 対応種類:StiLL Dev・Pro |
対応Ver. :StiLL
V9.1以降 対応種類:StiLL Dev・Pro |
対応Ver. :StiLL
V9.1以降 対応種類:StiLL Dev・Pro |
||||||||||||||||||||||||||||||||||||
■ 今回の内容 | ||||||||||||||||||||||||||||||||||||||
下の図のように横に長い画面を作成した場合、Excelの水平スクロールバーで横方向にスクロールをすると、 | ||||||||||||||||||||||||||||||||||||||
操作ボタン等まで一緒に動いてしまって使いにくい場合があります。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
そこで今回は、ボタンを押すたびに、表示する列をずらしていく方法をご紹介します。 | ||||||||||||||||||||||||||||||||||||||
右矢印ボタンを押すと年月の表示を6か月分先にずらし、左矢印ボタンを押すと6か月分前にずらす機能を例にご説明します。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
■ 作成方法 | ||||||||||||||||||||||||||||||||||||||
今回はセルリンクボタンの 「BtCol」 を使用して、列幅を変える例をご紹介します。 | ||||||||||||||||||||||||||||||||||||||
1) まずは、列幅が変わることによって操作バーにあるオブジェクトが移動してしまわないように、 | ||||||||||||||||||||||||||||||||||||||
各オブジェクトのプロパティの 「オブジェクトの位置関係」 を 「セルに合わせて移動やサイズを変更しない」 に設定しておきます。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
2) 右矢印ボタンのプログラムを作成します。 |
|
|||||||||||||||||||||||||||||||||||||
ボタンをクリックした分だけ右にずらす(列を非表示にしていく)機能にします。 | ||||||||||||||||||||||||||||||||||||||
次のセルリンクボタン 「BtSetValue」 と 「BtCol」 を連続実行します。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
A セルリンクボタン 「BtSetValue」 を使い、現在のカウンターセルの数字に '1' を足した数をセットするようにします。 | ||||||||||||||||||||||||||||||||||||||
B カウンターセルの数を使って非表示にする列番号を計算し、ADDRESS関数でセル位置に変換し、「BtCol」 にリンクします。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
3) 左矢印ボタンのプログラムを作成します。 |
|
|||||||||||||||||||||||||||||||||||||
ボタンをクリックした分だけ左にずらす(列を再表示していく)機能にします。 | ||||||||||||||||||||||||||||||||||||||
次のセルリンクボタン 「BtSetValue」 と 「BtCol」 を連続実行します。 | ||||||||||||||||||||||||||||||||||||||
@ 前の手順で用意したカウンターセルを利用します。 | ||||||||||||||||||||||||||||||||||||||
A セルリンクボタン 「BtSetValue」 を使い、現在のカウンターセルの数字から '1' を引いた数をセットするようにします。 | ||||||||||||||||||||||||||||||||||||||
ただし、カウンターセルの数字が '0' より小さくならないように、IF関数を使います。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
B カウンターセルの数を使って再表示する列番号を算出し、ADDRESS関数でセル位置に変換し、「BtCol」 にリンクします。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
4) 一覧表にあるボタンに作成した機能を設定し、出来上がりです。 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
■ ご参考までに | ||||||||||||||||||||||||||||||||||||||
・今回ご紹介した横スクロールボタンを付ける場合は、ユーザーにExcelの水平スクロールバーを操作されないようにするため | ||||||||||||||||||||||||||||||||||||||
水平スクロールバーを非表示にします。 | ||||||||||||||||||||||||||||||||||||||
画面起動時にExcelの水平スクロールバーを非表示にしたい場合は、水平スクロールバーを非表示にするよう設定した | ||||||||||||||||||||||||||||||||||||||
「一括画面制御 (MakeBtDisp)」 ボタンをファイルオープン時自動実行ボタンで実行してください。 | ||||||||||||||||||||||||||||||||||||||
・プログラムを作成中にテスト等でボタンを操作した際、カウンターセルに値が入ったままになっていたり | ||||||||||||||||||||||||||||||||||||||
列幅が制御されたままの状態で保存されることも考えられます。 | ||||||||||||||||||||||||||||||||||||||
そうなると、プログラムを起動した時にその状態で表示されてしまうので、プログラムを起動時に | ||||||||||||||||||||||||||||||||||||||
カウンターセルがゼロで、制御を行う全ての列が表示されている初期状態になっている必要があります。 | ||||||||||||||||||||||||||||||||||||||
プログラムファイルを変更等し保存する際には、必ずカウンターセルや列幅の制御を初期状態にしておくか、 | ||||||||||||||||||||||||||||||||||||||
もしくはファイルオープン時に実行する自動実行ボタンで初期状態にするようなプログラムを作成してください。 | ||||||||||||||||||||||||||||||||||||||
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください) | ||||||||||||||||||||||||||||||||||||||
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます |