WinActor活用コラム

教えて !! スーさん。

第7回 「フィルタ設定して表示されている行を別シートにコピーする」の巻

目次

  

 

  
スーさんスーさんとムーさんムーさん、ふたりの会話を通してWinActorの利用方法をお伝えします。
  

 

スーさん
④「繰り返しグループ」です。
今回は単純に回数に値で「6」を設定しています。
この後、組織名を生成する際に使用するため、カウンタに変数「カウンタ」を指定しています。

 

スーさん
⑤「文字列の連結(2つ)」で組織名を生成します。
今回は組織名が「AA1」~「AA6」ということなので、文字列1に「AA」を、 文字列2に変数「カウンタ」を指定することで組織名を生成して、連結結果を変数「AA組織」に格納します。

 

スーさん
⑥「Excel操作(シート追加)」でシートを追加します。
シート名に先ほど生成した変数「AA組織」を指定します。
追加位置は「後」を選択します。
こちらで「AA1」等のシート名でシートが追加されます。

 

スーさん
⑦「Excel操作(フィルタ条件設定)」です。
1行目にフィルタ設定するのでセル位置に「A1」を指定します。
B列でフィルタをかけるので列番号には「2」を指定します。
絞込みキーには変数「AA組織」を指定します。

 

スーさん
上記のフィルタ条件設定を実施することにより、繰返しの1回目はB列のAA組織が「AA1」でフィルタ設定された状態になります。

 

スーさん
⑧「Excel操作(行コピー)」です。
行目には変数「行範囲」を指定します。
行範囲は1行目から最終行までとなっていますので、行全体が含まれることになりますが、 フィルタ設定されている状態では表示されている行のみがコピーされることになります。

 

スーさん
⑨「Excel操作(行ペースト)」で追加シートにペーストします。
シート名に変数「AA組織」、行目に値で「1」を指定します。

 

スーさん
上記の操作を実行することでフィルタ設定して表示されている分の取引データが、 追加された該当組織名のシートにコピペされた状態になります。
こちらは「AA6」組織の分がコピペされた状態のものになります。

 

ムーさん
確かにフィルタ設定されて表示されている行のみがコピペされていますね。
最初に取引データ全体の行範囲を設定しておくことで、フィルタ設定したあとに、あらかじめ設定した行範囲を指定してコピペすれば良いということがわかりました。

 

スーさん
ここまでで、やりたいこと(組織で分割する)はできているのですが、コピペした結果を見ると、 取引年月日欄や金額欄に「######」の表記があったり、ペーストした行全体が選択された状態になっているのが気になりますね。
ということで、見栄えを考慮して以降の⑩⑪の操作を実施しています。

⑩「Excel操作(行列サイズ調整(シート内))」を使用して列幅の自動調整を行います。
対象行列では「列の幅」を選択します。
こちらを実行することで列幅が自動調整されますので、「######」表記は解消されます。

※このライブラリは同梱されておらず、プチライブラリにありますので、使用する際はそちらから取得してください。

 

スーさん
⑪「Excel操作(範囲選択)」を使用してA1セルを選択します。
開始セル、終了セルの両方に「A1」を指定します。
こちらを実行することで行全体が選択された状態が解消されます。

 

スーさん
上記の操作を実行した結果です。
取引年月日と金額がきちんと表示されています。

 

ムーさん
見た目とかって大事ですよね。
私もこういうところには気を使って必要な操作を入れるなどの対応を行うようにしたいと思います。

 

スーさん
今回は「AA5」組織は取引データが1件もない状態でしたが、 その場合でも1行目のタイトル行のみがきちんとコピペされた結果となっていました。
このようにフィルタ設定した結果が0件の場合でも、今回のやり方で問題なく対応可能ということになります。

 

ムーさん
今回もいろいろと教えていただきありがとうございました。
やりたいことの実現方法を理解することができましたので、自分の方でもシナリオを作成したいと思います。

 

 

 

 


 

目次

 

WinActor活用サイトへ戻る