はじめに
Sequence MakerはExcelから測定器を制御可能にするアドインです。Sequence Makerを使用すると、測定器を制御するためのいろいろなシーケンスが自由に組めます。シーケンスを組む際には、ワークシート内を自由に移動可能な専用コマンドを使用します。今回は移動先をいい感じに指定する裏技(というほどでもなく、実は取説にも書かれている)を解説します。Sequence Makerについての詳細は以下の記事を参照ください。
お断り
本記事の内容はSequence Maker開発元の公式見解ではなく、あくまでも個人が趣味の範囲内で執筆しているものです。記事の内容について開発元へ問い合わせることはお控えください。ご質問・要望などは各記事のコメント欄へお願いいたします。
ワークシート内を移動する専用コマンド
以下のような専用コマンドがあります。
コマンド | 内容 |
---|---|
#JMP(セル) | 指定されたセルに移動して処理を継続します。 例えばB20のセルに移動する場合は#JMP(B20)のように指定します。 Excelの「名前の定義」で付けたセルの名前でも指定できます。 |
#SUB(セル) | 指定されたセルに移動し、移動先の処理が終わる(空白セルがある)と元の位置に戻り処理を継続します。 Excelの「名前の定義」で付けたセルの名前でも指定できます。 |
(https://sequencemaker.hioki.com/manual/ja/#command より引用)
どちらもセル間を移動するときに便利なコマンドですが、#JMPは移動したら移動しっぱなしなので戻る必要があるときは再度#JMPで戻ります。#SUBは移動先の処理が終われば、移動元に戻ってきます。サブルーチン的な使い方ができます。
例えばこんな感じ
実際の使用例はこんな感じです。C3のセルからスタートして、#JMPや#SUBで別のセルに移動して処理した後、元に戻って最後C13のセルで終了しています。
これでは問題が起きる
#JMPや#SUBはセルの番地(G8とかC8とか)を指定すれば良いのですが、ここで1つ問題があります。例えば、専用コマンドを追加するために、行や列を挿入したような場合です。今回は緑色の専用コマンドを追加したところ、3行下にずれ、移動先の番地もずれてしまいました。行や列の挿入、削除については自動的に追従してくれないのです。このまま実行しても、まともに動いてくれません(G8のセルにジャンプして終わりです)
どうするか?
取説にもある通り、移動先を番地で指定するのではなく、名前で指定しましょう。まずは名前を定義します。名前を付けたいセルを選択し、左上の名前入力欄に入れるだけです。
定義した名前は「数式」タブの「名前の管理」で確認できます。
今回は3つのセルの名前を定義しました。
そして、セルの番地で書いていたところを名前に変更します。
これでシーケンスが正しく組めました。
試しに行と列を追加してみる。
行を2つ、列を3つ挿入してみました。名前の定義を確認してみます。
参照範囲が自動的に変わっていることが確認できました。
これなら行や列を挿入、削除してもシーケンスが壊れることはありません!
まとめ
今回は#JMPや#SUBコマンドで移動先を指定する際には「名前の定義」を使用する方法を解説してみました。
どのセルにどの名前を付けたかわからなくなったら「名前の管理」で確認するのが良いでしょう。
ここから削除や編集も可能です。