<?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>If アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/tag/if/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/tag/if/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Sat, 11 Dec 2021 14:25:08 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>If アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/tag/if/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【VBA】If文を一行で記述する方法【Access,Excel】</title>
		<link>https://nyanblog2222.com/office/4329/</link>
					<comments>https://nyanblog2222.com/office/4329/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 11 Dec 2021 14:25:03 +0000</pubDate>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[If]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4329</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />今回はOfficeのVBAで、If文を一行で記述する方法を紹介します。 目次 If文を一行で記述する方法そもそも、一行で書いた方が良い？ If文を一行で記述する方法 If文は通常、以下のように記述します。 これを一行で書 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4329/">【VBA】If文を一行で記述する方法【Access,Excel】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />
<p>今回は<span class="marker-under">OfficeのVBAで、If文を一行で記述する方法</span>を紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">If文を一行で記述する方法</a></li><li><a href="#toc2" tabindex="0">そもそも、一行で書いた方が良い？</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">If文を一行で記述する方法</span></h2>



<p>If文は通常、以下のように記述します。</p>



<pre class="wp-block-code basic"><code>If ( 条件式 ) Then
    処理
End If</code></pre>



<p>これを一行で書くと、以下のようなコードになります。<br>※<span class="marker-under">「End If」を記述しないことで、実現できます</span></p>



<pre class="wp-block-code basic"><code>If ( 条件式 ) Then 処理</code></pre>



<p>Else有りでも一行で書けます。</p>



<pre class="wp-block-code basic"><code>If ( 条件式 ) Then 処理１ Else 処理２</code></pre>



<p>ElseIfを使う場合は一行では書けないようです。</p>



<h2 class="wp-block-heading"><span id="toc2">そもそも、一行で書いた方が良い？</span></h2>



<p>If分を一行で書くと見た目がすっきりして、あたかも「かしこいコード」に見えますが、<br>必ずしも万人にとって読みやすいと思う記述方法ではないと私は思います。</p>



<p><span class="marker-under">コードは、自分にも他人にも読みやすいものであるべきです。</span></p>



<p>なので、<br>一行で書くと読みやすいコードになると思うのであれば、一行で書いた方が良いし、<br>一行で書くと”もしかしたら”読みにくいコードになるかもしれないと思うのであれば、分けて書いた方が良いと思います。</p>



<p>例えば、こういったケースはどちらが読みやすいでしょうか。<br></p>



<p><span class="bold-red">例）ある関数内で、対象フラグが9（エラーフラグ）なら即リターンする</span></p>



<p>①</p>



<pre class="wp-block-code basic"><code>If (TargetFlg = 9) Then Exit Function</code></pre>



<p>②</p>



<pre class="wp-block-code basic"><code>If (TargetFlg = 9)
  Then Exit Function
End If</code></pre>



<p><span class="marker-under">私なら①の方がスコープが狭まるので読みやすい</span>です。<br>内容も複雑ではないので、すぐに理解できます。<br>ただ②も素直なので、どちらを読みやすいと思うかは人によるかもしれませんね。</p>



<p><span class="bold-red">例）取得した日付が10文字（YYYY/MM/DD）ならそのまま返し、<br>　　異なれば（YYYYMMDD）、 10文字（YYYY/MM/DD） にして返す関数</span></p>



<p>①</p>



<pre class="wp-block-code basic"><code>If (Len(TargetDay) = 10) Then DayFormat = TargetDay Else DayFormat = Left(TargetDay, 4) &amp; "/" &amp; Mid(TargetDay, 5, 2) &amp; "/" &amp; Right(TargetDay, 2)</code></pre>



<p>②</p>



<pre class="wp-block-code basic"><code>If (Len(TargetDay) = 10) Then
  DayFormat = TargetDay
Else
  DayFormat = Left(TargetDay, 4) &amp; "/" &amp; Mid(TargetDay, 5, 2) &amp; "/" &amp; Right(TargetDay, 2)
End If
</code></pre>



<p><span class="marker-under">私なら②の方が素直で読みやすいです。</span><br>①は一行にすると読みづらすぎます！<br>恐らく他の人からしても②の方が読みやすいのではないでしょうか。<br>Elseを使う時点で分けた方がいいかもしれませんね。</p>



<p>ということで、判断に迷ったら<br>「一行で書くことで、自分や他人にとって読みやすくなるか」を考えて記述すると良いと思います。</p>



<p>以上です。<br>今回の記事が何かの参考になれば幸いです。ありがとうございました♪</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4329/">【VBA】If文を一行で記述する方法【Access,Excel】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/4329/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
