2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

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のセルで終了しています。

image.png

これでは問題が起きる

#JMPや#SUBはセルの番地(G8とかC8とか)を指定すれば良いのですが、ここで1つ問題があります。例えば、専用コマンドを追加するために、行や列を挿入したような場合です。今回は緑色の専用コマンドを追加したところ、3行下にずれ、移動先の番地もずれてしまいました。行や列の挿入、削除については自動的に追従してくれないのです。このまま実行しても、まともに動いてくれません(G8のセルにジャンプして終わりです)

image.png

どうするか?

取説にもある通り、移動先を番地で指定するのではなく、名前で指定しましょう。まずは名前を定義します。名前を付けたいセルを選択し、左上の名前入力欄に入れるだけです。

image.png

定義した名前は「数式」タブの「名前の管理」で確認できます。

image.png

今回は3つのセルの名前を定義しました。

image.png

そして、セルの番地で書いていたところを名前に変更します。
これでシーケンスが正しく組めました。

image.png

試しに行と列を追加してみる。

行を2つ、列を3つ挿入してみました。名前の定義を確認してみます。

image.png

参照範囲が自動的に変わっていることが確認できました。
これなら行や列を挿入、削除してもシーケンスが壊れることはありません!

まとめ

今回は#JMPや#SUBコマンドで移動先を指定する際には「名前の定義」を使用する方法を解説してみました。
どのセルにどの名前を付けたかわからなくなったら「名前の管理」で確認するのが良いでしょう。
ここから削除や編集も可能です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?