<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>プログラミング｜イノの多趣味な記録</title>
	<atom:link href="https://inoguitar.com/archives/category/%e3%83%91%e3%82%bd%e3%82%b3%e3%83%b3%e3%83%bb%e3%82%ac%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/feed" rel="self" type="application/rss+xml" />
	<link>https://inoguitar.com</link>
	<description>PC, 音楽, 旅, プログラミング, etc...</description>
	<lastBuildDate>Wed, 12 Feb 2025 23:47:16 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://inoguitar.com/wp-content/uploads/2024/07/cropped-4248ad98773cd546a99d34d11e982871-32x32.png</url>
	<title>プログラミング｜イノの多趣味な記録</title>
	<link>https://inoguitar.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>会社のVBAおじさんを説得できたので共有する</title>
		<link>https://inoguitar.com/archives/1922</link>
		
		<dc:creator><![CDATA[イノ]]></dc:creator>
		<pubDate>Thu, 06 Feb 2025 10:00:00 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://inoguitar.com/?p=1922</guid>

					<description><![CDATA[SEにとっての大敵、VBAおじさん。何をやるにもVBAを使い、今日も会社を混乱させている。 私が勤務する会社にもVBAおじさんはいるのですが、なんとかVBAを辞めさせることができたので紹介します。 VBAおじさんのこれま [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>SEにとっての大敵、VBAおじさん。何をやるにもVBAを使い、今日も会社を混乱させている。</p>



<p>私が勤務する会社にもVBAおじさんはいるのですが、なんとかVBAを辞めさせることができたので紹介します。</p>



<h2 class="wp-block-heading jinr-heading d--bold">VBAおじさんのこれまで</h2>



<p>私が勤務している会社のVBAおじさんはざっくりこんなかんじです。</p>



<ul class="wp-block-list jinr-list">
<li>自称ITできる人（zipファイルを知らない）</li>



<li>なんでもかんでもVBA。Excelをデータベースのように扱い、20くらいのExcelファイルをVBAで処理する</li>



<li>PythonやJavaをVBAのようなものだと思っている</li>



<li>文系</li>



<li>頑固</li>



<li>60代前半</li>
</ul>



<p>だいたいのVBAおじさんはこんな人ではないでしょうか。</p>



<p>一番の難所は頑固なところです。「そうゆうのはPythonで作ると良いですよ」と言っても「これでいいんだよ（怒」といった具合です。自分ができないことを指摘されるとキレるんですよね&#8230;</p>



<h2 class="wp-block-heading jinr-heading d--bold">効果があったこと</h2>



<p>ではVBAおじさんにやってみて効果のあったことを紹介します。</p>



<h3 class="wp-block-heading jinr-heading d--bold">VBAの出番を無くす</h3>



<p>VBAおじさんはVBAしか使えない一方、私はMySQL、HTML、Python、Java等をある程度は扱えます。</p>



<p>そこで、これまでVBAで作っていたものを、データベース主軸で作ったり、webアプリ化したりして、他の社員から高い評価をもらいます。そこで社員一同はこう思います。「VBAもういらねぇ」。</p>



<p>そして、これまで仕方なく使っていたVBAは不要となり、VBAおじさんの出番はなくなります。そしてVBAおじさんの仕事がなくなります。</p>



<h3 class="wp-block-heading jinr-heading d--bold">VBAを駆逐することを言語化</h3>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="665" height="375" src="https://inoguitar.com/wp-content/uploads/2025/02/vba.png" alt="" class="wp-image-1930" srcset="https://inoguitar.com/wp-content/uploads/2025/02/vba.png 665w, https://inoguitar.com/wp-content/uploads/2025/02/vba-300x169.png 300w, https://inoguitar.com/wp-content/uploads/2025/02/vba-320x180.png 320w, https://inoguitar.com/wp-content/uploads/2025/02/vba-640x360.png 640w" sizes="(max-width: 665px) 100vw, 665px" /></figure>



<p>VBAは今後廃止していきたいと思っているエンジニアも多いはず。しかし、VBAおじさんはなかなか言うことを聞いてくれません。ここで文系と理系のすれ違いが発生しています。</p>



<p>VBAおじさんは基本文系です。そして、文系の人の特徴は概念より先に言葉から覚える人が多いです（私の周りでは）。</p>



<p>例えば、理系の人は数学で、２つの式からxの値やyの値を求めたりした後に、「これを連立方程式って言うんだ～」と覚えます。一方、文系の人は「連立方程式」という言葉を覚えてからxやyの値を求めます。理系と文系にはこのような違いがあるのです（多分）。</p>



<p>以上を踏まえると、「VBAは不安定だし将来性もないから廃止すべきだ」と言っても、文系のVBAおじさんに響かない理由が分かるかと思います。</p>



<p>そこで、「VBAを廃止していく行為」に名前を付けます。仮に「VBAデトックス」としましょう。</p>



<p>「部長！今はVBAデトックスというのがトレンドなんですよ！」と言うとあら不思議、こっちの話を聞いてくれるようになります。あとは理由を説明するだけです。</p>



<h3 class="wp-block-heading jinr-heading d--bold">開発環境だけ与える</h3>



<figure class="wp-block-image size-full"><img decoding="async" width="641" height="427" src="https://inoguitar.com/wp-content/uploads/2025/01/fd7663c5583019ce0940f520d79aaf40.png" alt="" class="wp-image-1752" srcset="https://inoguitar.com/wp-content/uploads/2025/01/fd7663c5583019ce0940f520d79aaf40.png 641w, https://inoguitar.com/wp-content/uploads/2025/01/fd7663c5583019ce0940f520d79aaf40-300x200.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure>



<p>VBAを辞めさせることだけが目的であれば、前項で終了ですが、新しい言語に移ってほしいのであれば、開発環境のセットアップだけ行いましょう。</p>



<p>VBAおじさんは教えてもらうのが嫌いです。しかし、Eclipseをインストールしてデバッグ環境を構成するのはハードルが高いです。</p>



<p>そこで、ハードルの高い開発環境をつくる部分のみを「開発環境作っときますよ！」と言ってセットしておきます。あとは放置です。</p>



<p>VBAおじさんは、VBAは扱えるのですからプログラミングの基本はできているはずです。あとは本とかネットで勉強させておけば大丈夫です。</p>



<h2 class="wp-block-heading jinr-heading d--bold">会社のVBAおじさんの現在</h2>



<p>私が勤めている会社のVBAおじさんは現在、Pythonを勉強中です。そして、分からないところは私が教えています。40歳上の人に仕事を教えるというカオスな状況になってしまいましたが、平穏な日々を送っています。</p>



<p>本記事によって皆様の近くのVBAおじさんが、改心するきっかけになっていただけたら幸いです。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>結局VBAは悪なのか</title>
		<link>https://inoguitar.com/archives/1727</link>
		
		<dc:creator><![CDATA[イノ]]></dc:creator>
		<pubDate>Sat, 18 Jan 2025 11:40:45 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://inoguitar.com/?p=1727</guid>

					<description><![CDATA[ネットで何年も議論され続けているVBAは使って良いのか問題。私の会社でもVBAを作り続けるVBAおじさんと、やめろと言い続けるSEが存在します。VBAは使っても良いのか私なりの意見を述べようと思います。 結論:使い方によ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ネットで何年も議論され続けているVBAは使って良いのか問題。私の会社でもVBAを作り続けるVBAおじさんと、やめろと言い続けるSEが存在します。VBAは使っても良いのか私なりの意見を述べようと思います。</p>



<h2 class="wp-block-heading jinr-heading d--bold">結論:使い方による</h2>



<p>いきなり結論から言いますが、私は使い方によると思います。</p>



<p>私が個人的に使って良いと思う条件は、<span class="jinr-d--text-color d--user-color1">個人の業務の範囲かつVBAが使えなくなっても問題ない場合</span>のみです。</p>



<ul class="wp-block-list jinr-list">
<li></li>
</ul>



<p>毎朝エクセルで色分けする業務があるけど、面倒だからVBA書く。でも他の人には使わせないし、マニュアルとしては手作業を前提にするような場合はOKです。</p>



<p>逆に、部署にいるVBAを作り続けている人、通称VBAおじさんが「君たちの業務大変そうだね。全部VBAで自動化するよ」とするのはNGだということです。</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://inoguitar.com/wp-content/uploads/2025/01/news_fake_dema.png" alt="" class="wp-image-1773"/></figure>



<h2 class="wp-block-heading jinr-heading d--bold">VBAを広く使ってはいけない理由</h2>



<p>では何故個人の業務かつVBAが使えなくなっても問題がない場合を除いて使うべきではないのか、個人的な考えを述べていきます。</p>



<h3 class="wp-block-heading jinr-heading d--bold">後継者がいない</h3>



<p>最初に後継者がいないことが理由に挙げられます。私は大学を2023年に卒業しましたが、その時代には情報科の人たちはVBAを全く使わなかったようです。</p>



<p><span class="jinr-d--text-color d--user-color1">大学で習わない＝これからの時代、エンジニアはVBAを扱えない</span>　ということです。</p>



<p>社内の業務をVBAで作るのは、新しいシステムをCOBOLで作るようなものなんです。</p>



<h3 class="wp-block-heading jinr-heading d--bold">バグが多い</h3>



<p>VBAは、今まで普通に使えていたのに、ある日突然使えなくなることが多いです。</p>



<p>考えてみれば単純な話で、一般的なプログラムは、データベースの決まった列にしかアクセスできないアプリからデータを入力し、それをPythonなどで処理する一方で、VBAの場合どこにでも入力可能なエクセルのセルに数値を入力するのですから、ヒューマンエラーが起こればプログラムはすぐに停止します。</p>



<p>また、VBAをある程度使った人にはわかると思いますが、何故かフリーズした経験もあると思います。</p>



<p>こういったバグの多さから、重要な業務においてVBAを必須とするようなシステムは控えるべきです。</p>



<h3 class="wp-block-heading jinr-heading d--bold">そもそも複雑な処理は想定されていない</h3>



<p>VBAおじさんが近くにいる人は経験があると思いますが、社内10以上のエクセルファイルからデータを読み取ってリストを作るプログラムを書くような人がいます。しかし、そんな使い方VBAを作った人は想定していないでしょう。せいぜいファイル3つくらいだと思います。</p>



<p>ネットでVBA肯定派の人たちは、周りにこういったVBAおじさんがいないんだろうと思っています。おそらく肯定派の人も「毎日、10枚のエクセルファイルからリストを作ってもよいか」と聞かれると、否と答えるでしょう。</p>



<p>10ファイルの中のセルが一つズレているだけで止まりますし、そもそもVBAは重い処理をするとフリーズします。</p>



<p>余談ですが、私の会社のVBAおじさんが上記のようなのを作り出したので、「それは流石にやめてください。僕、MySQL使えるんでそっちをベースに作りましょ！」と言っても「まいえすきゅーえる？ ﾅﾝﾀﾞｿﾘｬ」ってかんじで結局VBAで作ってしまって会社は大混乱に陥りました。それでも「自分が作ったプログラム使ってﾈｯ!」という調子なので困ってます。間違って消しちゃったーとか言って誰か消してくれないかな。</p>



<h2 class="wp-block-heading jinr-heading d--bold">VBAが嫌われる理由</h2>



<p>VBAは何故エンジニアに嫌われるのだろうか。フリーズするから！？計算が遅いから！？などなど考えられますが一番はこれだと思います。</p>



<p><strong><span class="jinr-d--font-size d--fontsize-21px">VBA使っている人がコード書くの下手すぎ、せめてマニュアルくらい書け</span></strong></p>



<p>エンジニアの多くはVBAよりも先にPythonやJavaを勉強されている方がほとんどだと思います。そういった言語を扱った人がVBAを使ってみると、「個人の業務の範囲で使うようなもの」だと認識すると思います。</p>



<p>そして、なんでもかんでもVBAで作ろうとする人は「エクセルにVBAってあるらしい。これで俺もプログラマーになる」という人が多いかと思います。そういった人は計算の速いPythonやブラウザで処理するJavaScriptなどの存在を知らないので、なんでもかんでもVBAで作ろうとするのです。プログラミングの勉強をしていないのですから、インデントの揃え方も変数の決め方も、ましてやユーザー定義関数も知らないのです。</p>



<p>そんな人たちが多く使う言語なので、コードは雑、マニュアルも無いようなものばかり出来上がるのです。「俺はどうしてもVBAを使いたいんだ」という方がいたら、コードの書き方や他の言語の特長を知った上で使ってください（その頃にはVBAを使わなくなっていると思いますが）。</p>



<h2 class="wp-block-heading jinr-heading d--bold">個人の業務の範囲かつ止まっても手作業でできる場合のみOK</h2>



<p>以上を踏まえ、私は個人の業務の範囲かつプログラムが止まっても手作業でできる場合のみOKとしました。</p>



<p>VBAはエクセルさえあれば誰でも始められるのが良いところです。プログラミングを扱わない人がPythonをインストールして環境変数を当てて、Eclipseのデバッグ環境を構築するのは難しいと思うので、自分の業務を効率化するのに一部VBAを活用するのはむしろ良いと思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="641" height="427" src="https://inoguitar.com/wp-content/uploads/2025/01/fd7663c5583019ce0940f520d79aaf40.png" alt="" class="wp-image-1752" srcset="https://inoguitar.com/wp-content/uploads/2025/01/fd7663c5583019ce0940f520d79aaf40.png 641w, https://inoguitar.com/wp-content/uploads/2025/01/fd7663c5583019ce0940f520d79aaf40-300x200.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure>



<p>A列に重要と書かれていたらその行をグレーにするという業務の場合、10行くらいVBAを書けば一瞬で終わるので、そういった場合に使うのは良いと思います（部下への引き継ぎで、VBA走らせたら良いと言うのはNG。しっかり業務内容を説明するのは必要）。</p>



<p>VBAに限らず、プログラムを作る際は、先のことも考えて作るようにしていきましょう。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
