中小企業情シス稼業

2社連続で中小企業ひとり情シスやっています。 同じ境遇の方のお役に立てればと思います。

広告

2019年05月

ExcelマクロやAccessのツールを他人に使わせる場合の注意点

hair-scissors-on-white

まずそもそも、ユーザにはExcelマクロやAccessのツールを使わせないことが肝要です。

でもなかなかそうもいかないんですよね・・・
障害が起きた場合など、ツールを渡して時間稼ぎをしないといけない時もあったりして。


使わせたくない理由には、使わせ甲斐がないってのもありますね。
超効率化してるのに、「当然」のリアクション。感動も感心もしない。せめてフリだけでもしろ!w

「ITは得体が知れないが、何か便利そうなので恩恵だけは受けたい」てなもんですわ。
なんと都合のいいことか。


こんなユーザにツールを使わせると、助けてくれるはずのツールが、自分の首を絞めてくることになります。
それでは悲しすぎるので、対策を立てておく必要があります。

シンプルにしておく

プログラムをなるべくシンプルにしておくことが大事です。
トラブルがあったときに、追跡しやすくするためです。


シンプルにするのはプログラム構造だけではありません。
プログラム化対象の作業も、シンプルなものだけをターゲットにします。
転記などのシンプルな作業だけをプログラム化するのです。

例えばExcelの場合、なるべく式をセルに埋め込み、マクロでの計算は最小限にします。
セルのコピペをアホみたいに繰り返さなければいけないところとかだけ、マクロにするということです。


こうすることで、障害の切り分けがしやすくなります

私が配布するツールにExcelが多い理由はここにあります。
ある程度の計算処理をExcelに任せることができるからです。

汎用性を持たせる

プログラムはなるべくハードコーディングしないようにします。まあ基本ですが。

某基幹システムベンダーは平気でハードコーディングしますけどね。
「プログラムに埋め込まれているので、変更には費用いただきまーす」と悪びれもせず言い放ちます。
早く潰れないかな。でも何故かそういう会社は儲かってるんだよな~
社内SEの血と汗と涙の上に成り立つ利益。

関連記事:
ベンダーは利益を情シスに還元せよ


私の作るツールでは、パラメータをユーザの見える位置に置いておいておきます。
ユーザが自分である程度ツールをコントロールできるようにするためです。

例えば、基幹システムからデータ出力し、加工するExcelマクロの場合、
「設定」シートのようなものを作って、「請求先コードの列番号はE列」のような情報を持たせておきます。
マクロは、必ずこの「設定」シートの値を見て処理をするようにします。
もし基幹システムから出力されたデータの並び順が変わっても、ユーザに列番号を変更させれば、マクロは動きます。

手作業でできるようにしておく

ツールに何かトラブルがあった場合、ユーザは「動かないんですけど」と言うだけのマシーンと化します。何のトラブル切り分けもしてくれません。

トラブルが解消するまで、思考停止したままずーっと社内SEの前から動きません。
「ツールが動かないから仕事進まないんですけど~解決まだぁ~」てなもんです。

「本来お前の仕事だろうが!!!」と言いたいですが、大人なので言いません。


こんなときはユーザにも汗をかいてもらいましょう。

何か起こっても、手作業で何とか業務ができる形にしておくのです。
代替手段が何もないと、ユーザの思考停止を後押ししてしまいます。


というわけで私は、ツールを使わせるならExcelにしています。
最悪、手入力で体裁を整えられるからです。

Accessだとそうはいきません。
「テーブル」と言ってもユーザには通じませんから。


トラブル時にいきなり「手作業でやってください」と言うと、逆切れするユーザもいるかもしれません。
なのでツールを渡す際、「最悪の場合は手作業でできるようにしておいてください」と言質を取ることを忘れないようにしてください。

ツールを渡す時は、社内SEの立場が強い唯一のタイミングとなります。こちらのお願いを通しやすくなります。OKしなければツールを渡さなければいいだけです。

そんな約束も反故にされるとは思いますがw、こちらがキレる大義名分にはなります。



ツールを作ってやったのに、「バグ出たんですけど」とか失礼なことを言うやつもいます。
で、見てみると、たいていこちらが指示したとおりに使っていません。

「ツール使わなくていいよ、前みたく紙でやりなよ」と言ってやりたいです。
こういうユーザはコンピュータに使われているんですよね。自分では気づかないんでしょうね。

※そういや「バグ」って言葉はいつからド素人も言うようになったんですかね。
厚かましい私でも、ベンダーに「バグ出ましたよ」とは滅多に言いません。明らかなエラーが出た場合だけです。
ド素人ほど簡単に「バグ」って言いますよね。ドヤ顔で言いたいだけなんですかね。


渡す相手を見極めるのも社内SEの仕事です。
センスのない社内SEは「こんなのチャチャッとできますよ」と質の悪いクソツールをホイホイユーザに渡してしまいます。
そういった行為は、実は自らの価値を貶めているだけなのですが・・・



ツールを使わせてもいいのは、ある程度のリテラシがあるユーザだけです。
リテラシが怪しい場合は、社内SEがツールを使って、処理結果だけペッと渡す運用にするのが賢明です。

ベンダーの「データ移行しますよ」の言葉に騙されてはいけない

metallic-fish-hook_925x

新しいシステム導入などを検討している際、
 「旧システムからのデータ移行については・・・」
と何も知らないエンドユーザや上司が聞くと、
 「データ移行します!
とベンダーは元気よく答えます。

これほとんどウソですからね。

ベンダーの言うデータ移行

よく聞いてみると、
 「Excel書式を用意するので、その書式にあわせてデータご用意いただければ、移行しますよ」
と、ベンダーは小声で言いますw

何も知らないエンドユーザや上司は、それを流してしまうんですよね。あっさりと。

・・・

既存システムから新システムの書式にデータ変換するところが一番重いんだっつーの。


ベンダーのやつら、それわかってて言ってますからね。
ユーザや上司は簡単に騙されます。ベンダーからしてみたらちょろいもんなんでしょうね~

で、いざその場になると真実を知り、青い顔をして社内SEに泣きついてきます。


泣きついてくるならまだかわいい。
「社内SEの仕事だろ!!!」と開き直る輩もたくさんいます。

あーあ・・・
何で同じ会社の人間同士が敵対しなきゃならんのよ。

データ変換のいやらしさ

例えば取引先マスタの変換が必要だとして、
 旧システム:住所1(20バイト)、住所2(20バイト)、住所3(20バイト)
 新システム:住所1(30バイト)、住所2(30バイト)
とかいやらしいですよ~

豪快に旧システムの住所2を10バイトでぶった切って、前半を住所1に、後半を住所3にくっつけて、新システムにぶっこみます?

もし、ちょうど切ったところに2バイト文字があると、文字化けデータの出来上がりです。


1マスタの、たった1項目ですらこんな具合です。

こういうケースだけではありません。
「コードの桁が足りない」
「旧システムにない区分が出てきた」
とかだと、新たにコード体系を考えないといけません。

気が遠くなりますね。

データ取り込みのいやらしさ

で、なんとかExcel書式に合わせたとします。
ベンダーにデータを渡して、新システムに取り込んでもらいます。

まあ1度で成功するわけも無く・・・

ベンダーは「エラー出ました。直してください」というだけです。
そんなやりとりが何度も繰り返されます。


Excelだと変換後のデータしか残っていないこともありますから、もし変換途中のデータが欲しい場合は、最初からやり直しです。

気が遠くなりますね。


だから私はこういうときは、Accessでやります。
これなら途中の変換ロジックを修正して、再度データを食わせれば終わりですからね。
何度でも実行できます。

関連記事:


変換途中のデータはなるべく持たないこと
が肝要です。

プロジェクトの混乱の中では、様々なバージョンのファイルが作成されます。
ファイル名に「最新」という文字がついていても本当に最新なのか、自分でも信用できませんw

変換処理をある程度自動化しておけば、手作業を最低限にすることができます。
手作業が最小限ということは、おかしなデータが移行されるリスクが減るということです。



客が作ったExcelデータを取り込むだけの作業・・・
エラーが出ても「エラー出た~」というだけの作業・・・
こんな仕事内容でも、ベンダーはデータ移行費用取りますからね。ふざけてますよ。

「変換作業も含んでやること。でなければ新システムは導入しない」
と最初の提案の時点で釘を刺しておかないとダメです。

ベンダーはプロ意識のかけらもないですよ。早く淘汰されないかな。

関連記事:
基幹システム導入 仕様策定3/3-データ移行内容の明確化

Excelのショートカットキーでカーソルの上のセルの値をコピーする

blueberry-pie-with-lattice-crust_925x

単純なネタで恐縮なのですが・・・

社内SEにも、Excelを手入力する仕事があるんですよね。
というよりそればかり?w

なるべく手入力はしたくないんですけどね。

どうしても避けられない作業もあります・・・

Ctrl+dが意外と使える

Excelでは、
 Ctrl+d
カーソルのすぐ上のセルの値をコピーしてくれます。

行全体をコピーするほどではない場合など、意外と使えます。

Excelを使って20年以上経ちますが、正直言って知ったの最近ですw

Ctrl+r

また、
 Ctrl+r
カーソルのすぐ左のセルの値をコピーしてくれます。

私はあまり使わないですが。

関連記事:



本当は手入力などせず、プログラミングで自動化するのが王道ですね。

キーボードバシバシ打ってるほうが仕事しているように見えるんでしょうね。昭和な人にはw

なるべくキーボードに触らず、仕事をこなせるほうがいいと思うんですけどね。


広告
広告
プロフィール
40過ぎて何とか結婚し、2015年末に子どもができた、左利き初老オヤジです。日本史を再勉強中。株、囲碁、鼻炎、眼振少々。中小企業ハッタリテキトー情シス(社内SE)。Access/ExcelVBAしか武器(?)はなし。情試はPM/SM/SA/NW。 ベンダーSEを数年やり、その後情シスに転職しました。 情シスでは中小企業ばかり3社見てきました。現職と前職ではひとり情シスです。 会社では「いないとヤバいが、評価はしない」という扱いです。 ノウハウを伝える相手もいないので、せっかくなので自分なりのコツを公開したいと思います。 同じような環境で苦労されている方のお役に立てればと思います。 「情シスの格を上げる」が目標です。 Twitterをフォローいただくと、ブログ更新時に通知されます。http://twitter.com/suiton_everyday よろしくお願いいたします。
お問い合わせ
お問い合わせはこちら
プライバシーポリシー
・当サイトに掲載されている広告について
当サイトでは、第三者配信の広告サービス(Googleアドセンス)を利用しています。
このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 『Cookie』(氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。
またGoogleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。

・当サイトが使用しているアクセス解析ツールについて
当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。
このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。
このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。
この規約に関して、詳しくはこちら、またはこちらをクリックしてください。