<?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://dokugakuexcel.com/category/%e3%83%9e%e3%82%af%e3%83%advba/%e6%96%87%e5%ad%97%e6%93%8d%e4%bd%9c/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Thu, 13 Jul 2023 07:17:21 +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://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>文字操作  |  独学エクセル塾</title>
	<link>https://dokugakuexcel.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">194648711</site>	<item>
		<title>【マクロVBA】セルや変数が空白かどうかを判断する方法！IsEmpty関数の使い方と注意点も紹介</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%82%84%e5%a4%89%e6%95%b0%e3%81%8c%e7%a9%ba%e7%99%bd%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%e3%82%92%e5%88%a4%e6%96%ad%e3%81%99/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e3%2582%25bb%25e3%2583%25ab%25e3%2582%2584%25e5%25a4%2589%25e6%2595%25b0%25e3%2581%258c%25e7%25a9%25ba%25e7%2599%25bd%25e3%2581%258b%25e3%2581%25a9%25e3%2581%2586%25e3%2581%258b%25e3%2582%2592%25e5%2588%25a4%25e6%2596%25ad%25e3%2581%2599</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%82%84%e5%a4%89%e6%95%b0%e3%81%8c%e7%a9%ba%e7%99%bd%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%e3%82%92%e5%88%a4%e6%96%ad%e3%81%99/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 12 Jul 2023 15:12:37 +0000</pubDate>
				<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[IsEmpty関数]]></category>
		<category><![CDATA[空白]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4445</guid>

					<description><![CDATA[VBAでは、セルや変数が空白かどうかを判断する必要がある場面があります。 そこで、本記事ではIsEmpty関数の使い方について解説します。 本記事では、IsEmpty関数の使い方や注意点、実際の活用例について詳しく解説し [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAでは、<span class="marker-under"><strong>セルや変数が空白かどうかを判断する必要がある</strong></span>場面があります。</p>
<p>そこで、本記事では<span class="marker-under"><strong>IsEmpty関数の使い方</strong></span>について解説します。</p>
<p>本記事では、IsEmpty関数の使い方や注意点、実際の活用例について詳しく解説します。<br /><br />ぜひ参考にしてください。<br />それでは見ていきましょう！</p>
<p>

</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">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">■構文</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎セルが空白かどうかを判断する方法</a></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎変数が空白かどうかを判断する方法</a></li><li><a href="#toc6" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc7" tabindex="0">空白セルの判定</a></li></ol></li><li><a href="#toc8" tabindex="0">■練習問題</a></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんな事ができるようになる！</span></h2>
<p>

</p>
<p>・セルや変数が空白かどうかを判断できるようになる</p>
<p><img fetchpriority="high" decoding="async" width="1561" height="440" class="alignnone wp-image-4449 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-50.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-50.png 1561w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-50-300x85.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-50-1024x289.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-50-768x216.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-50-1536x433.png 1536w" sizes="(max-width: 1561px) 100vw, 1561px" /></p>
<h2><span id="toc2">■構文</span></h2>
<div class="information-box common-icon-box"><span class="fz-18px fz-20px"><strong><span style="color: #3366ff;">戻り値</span>＝<span class="marker-under">IsEmpty</span>(<span style="color: #ff0000;">対象</span>) </strong></span></div>
<p><span class="marker-under"><strong>IsEmpty関数</strong></span>は、指定したセルや変数が空白かどうかを判断するために使用されます。</p>
<p><strong><span style="color: #3366ff;">戻り値</span></strong>は<span class="marker-under-blue">True（空白）またはFalse（空白でない）</span>となります。</p>
<p>





</p>
<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>
<p>

</p>
<pre class="wp-block-verse">Sub 空白判断()<br />Dim target As Range<br />Set target = <strong><span style="color: #ff0000;">対象セル・変数</span></strong><br /><br />If IsEmpty(target) Then<br />　'<strong><span style="color: #3366ff;">空白の処理</span></strong><br />Else<br />　'<span style="color: #3366ff;"><strong>空白でないときの処理</strong></span><br />End If<br />End Sub</pre>
<p>

</p>
<p><span style="color: #000000;"><strong><span style="color: #ff0000;">対象セル・変数</span></strong>はカスタムして使用してください。<br />「<span style="color: #3366ff;"><strong>空白の処理</strong></span>」または「<span style="color: #3366ff;"><strong>空白でないときの処理</strong></span>」を当てはめることで場面に合わせて処理できます。<br /></span></p>
<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎セルが空白かどうかを判断する方法</span></h2>
<p>

</p>
<p>まずは<span class="marker-under"><strong>セルが空白かどうかを判断する方法</strong></span>について説明します。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="463" height="110" class="alignnone wp-image-4447 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-49.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-49.png 463w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-49-300x71.png 300w" sizes="(max-width: 463px) 100vw, 463px" /></p>
<div>
<p>B3に文字・数値が入力されているか・空白なのか判断してみたいと思います。</p>
<p>では再度構文を見ていきましょう。</p>
</div>
<div class="information-box common-icon-box">
<p><span class="fz-18px fz-20px"><strong><span style="color: #3366ff;">戻り値</span>＝<span class="marker-under">IsEmpty</span>(<span style="color: #ff0000;">対象</span>) </strong></span></p>
</div>
<div>では構文に当てはめてみましょう。<br /><strong><span style="color: #ff0000;">対象</span></strong>は<span style="color: #ff0000;"><strong>B3</strong></span>のセルなのでそのままB3が当てはまります。</div>
<div> </div>
<div>そこからIfを使用することで<span class="marker-under-red"><strong>空白の時は「セルは空白です」を出力</strong></span>、<span class="marker-under-blue"><strong>空白でない場合は「セルは空白ではありません」</strong></span>という出力をします。</div>
<div> </div>
<div>それではソースコードを見ていきましょう。</div>
<div> </div>
<div class="blank-box bb-yellow">Sub セルの空白判断()<br />Dim target As Range<br />Set <span style="color: #ff0000;"><strong>target</strong> </span>= Range(&#8220;<strong><span style="color: #ff0000;">B3</span></strong>&#8220;)<br /><br />If IsEmpty(<span style="color: #ff0000;"><strong>target</strong> </span>) Then<br />　Cells(3, 4) =<span class="marker-under-red"><strong> &#8220;セルは空白です&#8221;</strong></span><br />Else<br />　Cells(3, 4) =<span class="marker-under-blue"><strong> &#8220;セルは空白ではありません&#8221;</strong></span><br />End If<br />End Sub</div>
<div>それでは実行してみましょう。<br />結果はこのようになります。</div>
<div><img decoding="async" width="740" height="167" class="alignnone wp-image-4450 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-51.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-51.png 740w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-51-300x68.png 300w" sizes="(max-width: 740px) 100vw, 740px" /></div>
<div><span class="marker-under-blue"><strong>空白でないので「セルは空白ではありません」</strong></span>という結果になりました。</div>
<div> </div>
<div>ちなみに空白の状態で実行してみましょう。</div>
<div><img decoding="async" width="726" height="171" class="alignnone wp-image-4451 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-52.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-52.png 726w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-52-300x71.png 300w" sizes="(max-width: 726px) 100vw, 726px" /></div>
<div>結果はこのようになります。</div>
<div> </div>
<div><img decoding="async" width="630" height="157" class="alignnone wp-image-4453 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-54.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-54.png 630w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-54-300x75.png 300w" sizes="(max-width: 630px) 100vw, 630px" /></div>
<div> </div>
<div><span class="marker-under-red"><strong>対象セルは空白なので「セルは空白です」</strong></span>となってます。
<div>
<p>&nbsp;</p>
</div>
</div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc5">&#x2b1b;︎変数が空白かどうかを判断する方法</span></h2>
<p>次に<span class="marker-under"><strong>変数が空白かどうかを判断する方法</strong></span>について説明します。</p>
<p>今回は先にソースコードを見ていきましょう。</p>
<div class="blank-box bb-blue">
<p>Sub 変数の空白判断()<br />Dim <strong><span style="color: #ff0000;">text</span></strong></p>
<p>If IsEmpty(<strong><span style="color: #ff0000;">text</span></strong>) Then<br />　<strong><span class="marker-under-red">MsgBox &#8220;変数は空白です&#8221;</span></strong><br />Else<br />　<span class="marker-under-blue"><strong>MsgBox &#8220;変数は空白ではありません&#8221;</strong></span><br />End If<br />End Sub</p>
</div>
<p>上記の例では、変数textが空白かどうかを判断しています。</p>
<p>今回は<span class="marker-under-red"><strong>変数textが空白の場合なので、「変数は空白です」というメッセージが表示</strong></span>されます。</p>
<p>&nbsp;</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="157" height="177" class="alignnone wp-image-4455 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-55.png" /></p>
<p><span class="marker-under-red"><strong>「変数は空白です」</strong></span>というメッセージが出ました。<br />では空白でないときの処理結果を見ていきましょう。</p>
<p>下記コードで実行してみます。</p>
<div class="blank-box bb-yellow">
<p>Sub 変数の空白判断()<br />Dim <strong><span style="color: #ff0000;">text</span></strong></p>
<p><strong><span style="color: #ff0000;">text</span></strong>= &#8220;独学エクセル塾&#8221;</p>
<p>If IsEmpty(<strong><span style="color: #ff0000;">text</span></strong>) Then<br />　<span class="marker-under-red"><strong>MsgBox &#8220;変数は空白です&#8221;</strong></span><br />Else<br />　<span class="marker-under-blue"><strong>MsgBox &#8220;変数は空白ではありません&#8221;</strong></span><br />End If<br />End Sub</p>
</div>
<p>

</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="202" height="181" class="alignnone wp-image-4456 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-56.png" /></p>
<p><span class="marker-under-blue"><strong>空白でないので「変数は空白ではありません」のメッセージが表示</strong></span>されました。</p>
<p>&nbsp;</p>
<h2 class="wp-block-heading"><span id="toc6">&#x2b1b;︎よくあるエラーと対処法</span></h2>
<p>

</p>
<p>IsEmpty関数は、空白セルや空白文字列を判定するために使用されますが、時に予期しない結果を返す場合があります。</p>
<p>以下の点に注意してください。</p>
<h3 class="wp-block-heading"><span id="toc7">空白セルの判定</span></h3>
<p>IsEmpty関数では、<span class="marker-under"><strong>セルに数式や空白スペースが含まれている場合、Falseを返します</strong></span>。</p>
<p>この場合、セルが本当に空白であるかどうかを確認するために、Blankプロパティを使用すると良いでしょう。</p>
<p>例を紹介します。<br />下記見本をご覧ください。<br /><br /></p>
<div class="blank-box bb-yellow">
<p>Sub 変数の空白判断()<br />Dim text</p>
<p><strong><span style="color: #ff0000;">text</span></strong>= &#8220;&#8221;</p>
<p>If IsEmpty(<strong><span style="color: #ff0000;">text</span></strong>) Then<br />　MsgBox &#8220;変数は空白です&#8221;<br />Else<br />　MsgBox &#8220;変数は空白ではありません&#8221;<br />End If<br />End Sub</p>
</div>
<p>変数「text」には「””（空白)」が格納されているため、一見、Trueの戻り値となりそうですが、</p>
<p>実際は<span class="marker-under"><strong>「空白」が格納されているとみなされて「空白ではありません」のメッセージが表示</strong></span>されます。</p>
<p><img decoding="async" width="202" height="181" id="thepasted-3" class="alignnone wp-image-4456 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-56.png" /></p>
<h2><span id="toc8">■練習問題</span></h2>
<p>練習問題も別の記事でまとめているので是非参考にしてみてください！</p>
<div class="alert-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c16%e3%80%91%e7%a9%ba%e7%99%bd%e3%82%bb%e3%83%ab%e3%81%ae%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%88%ef%bc%81%e5%af%be%e8%b1%a1/">【マクロVBA練習問題16】空白セルのカウント！対象範囲に空白のセルが何個あるか数える方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎公式の説明</span></h2>
<p>

</p>
<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br />マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>
<p>

</p>
<div class="question-box common-icon-box"><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/isempty-function">IsEmpty 関数 (Visual Basic for Applications) | Microsoft Learn</a></div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc10">&#x2b1b;︎まとめ</span></h2>
<p>

</p>
<p>いかがだったでしょうか？</p>
<p>本記事では、マクロVBAでセルや変数が空白かどうかを判断する方法を解説しました。</p>
<p>IsEmpty関数を使うことで、簡単に空白の判定ができます。</p>
<p>以上が、IsEmpty関数についての解説となります。お役に立てれば幸いです。</p>
<p>それでは次回の記事でお会いしましょう。</p>
<p>

</p>
<p>

</p>
<p>&nbsp;</p>
<p></p>
<p>&nbsp;</p>]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%82%84%e5%a4%89%e6%95%b0%e3%81%8c%e7%a9%ba%e7%99%bd%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%e3%82%92%e5%88%a4%e6%96%ad%e3%81%99/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4445</post-id>	</item>
		<item>
		<title>【マクロVBA】IsNumeric関数を使って数値判定！変数・セルの値でも数字であるか判別可能</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91isnumeric%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%95%b0%e5%80%a4%e5%88%a4%e5%ae%9a%ef%bc%81%e5%a4%89%e6%95%b0%e3%83%bb%e3%82%bb/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591isnumeric%25e9%2596%25a2%25e6%2595%25b0%25e3%2582%2592%25e4%25bd%25bf%25e3%2581%25a3%25e3%2581%25a6%25e6%2595%25b0%25e5%2580%25a4%25e5%2588%25a4%25e5%25ae%259a%25ef%25bc%2581%25e5%25a4%2589%25e6%2595%25b0%25e3%2583%25bb%25e3%2582%25bb</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91isnumeric%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%95%b0%e5%80%a4%e5%88%a4%e5%ae%9a%ef%bc%81%e5%a4%89%e6%95%b0%e3%83%bb%e3%82%bb/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 06 Jul 2023 13:36:21 +0000</pubDate>
				<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[数値]]></category>
		<category><![CDATA[IsNumeric]]></category>
		<category><![CDATA[判断]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4423</guid>

					<description><![CDATA[VBAで数値の判定を行いたい場合、IsNumeric関数が便利です。 この関数を使うことで、変数やセルに格納された値が数値かどうかを簡単に判定することができます。 本記事では、IsNumeric関数の使い方や注意点、実際 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAで数値の判定を行いたい場合、IsNumeric関数が便利です。</p>
<p>この関数を使うことで、<span class="marker-under"><strong>変数やセルに格納された値が数値かどうかを簡単に判定する</strong></span>ことができます。</p>
<p>本記事では、IsNumeric関数の使い方や注意点、実際の活用例について詳しく解説します。<br />ぜひ参考にしてください。<br />それでは見ていきましょう！</p>
<p>

</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎構文の説明</a></li><li><a href="#toc4" tabindex="0">︎IsNumeric関数の使い方</a><ol><li><a href="#toc5" tabindex="0">・セルの値が数値かどうか判定する</a></li><li><a href="#toc6" tabindex="0">・変数の値が数値かどうか判定する</a></li></ol></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎IsNumeric関数の注意点</a><ol><li><a href="#toc8" tabindex="0">1. IsNumeric関数の出力結果について</a></li><li><a href="#toc9" tabindex="0">2.ロケールの影響</a></li></ol></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎数値判定の活用例</a><ol><li><a href="#toc11" tabindex="0">・変数の数値判定</a></li><li><a href="#toc12" tabindex="0">・セルの数値判定</a></li><li><a href="#toc13" tabindex="0">・数値判定を活用した処理の例</a></li></ol></li><li><a href="#toc14" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">・ 文字列が数値として解釈できない場合に誤った結果が返る</a></li><li><a href="#toc16" tabindex="0">・セルに空白や空文字列が含まれる場合に誤った結果が返る</a></li><li><a href="#toc17" tabindex="0">・エラー: ロケールによって数値の判定結果が異なる</a></li></ol></li><li><a href="#toc18" tabindex="0">■練習問題</a></li><li><a href="#toc19" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc20" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんな事ができるようになる！</span></h2>
<p>

</p>
<p>セルに入力された値が数値かどうかを判定することが出来る</p>
<p><img decoding="async" width="1042" height="162" class="alignnone wp-image-4424 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-39.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-39.png 1042w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-39-300x47.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-39-1024x159.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-39-768x119.png 768w" sizes="(max-width: 1042px) 100vw, 1042px" /></p>
<p>





</p>
<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>
<p>

</p>
<pre class="wp-block-verse">Sub 数値判定の例()<br />Dim num As Variant<br />num = <strong><span style="color: #ff0000;">セル・変数</span></strong>' 数値として解釈可能な文字列<br /><br />If IsNumeric(num) Then<br />　' <strong><span style="color: #3366ff;">数値の時の処理</span></strong><br />Else<br />　' <strong><span style="color: #339966;">数値の時以外の処理</span></strong><br />End If<br /><br />End Sub</pre>
<p>

</p>
<p><strong><span style="color: #339966;"><span class="bold red" style="color: #ff0000;"><span style="color: #ff0000;">セル・変数</span>・<span style="color: #3366ff;">数値の時の処理</span><span style="color: #0000ff;">・<span style="color: #339966;">数値の時以外の処理</span></span></span></span></strong><span style="color: #000000;">はカスタムして使用してください。</span></p>
<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎構文の説明</span></h2>
<p>

</p>
<p>まず、使用する関数についてです「<span class="marker-under"><strong>IsNumeric関数</strong></span>」になります。<br />関数仕様としては下記の通りです。</p>
<p>

</p>
<div class="information-box common-icon-box"><strong>IsNumeric(<span style="color: #ff0000;">値・セル・変数</span>)</strong></div>
<div><span class="marker-under"><strong>「<span style="color: #ff0000;">値・セル・変数</span>」には数値かどうか判定したいた対象を入力</strong></span>します。<br /><br /></div>
<div>では実際に使用した例を紹介したいと思います。</div>
<p>

</p>
<p>

</p>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc4">︎IsNumeric関数の使い方</span></h2>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc5">・セルの値が数値かどうか判定する</span></h3>
<p>まず、<span class="marker-under"><strong>セルの値が数値かどうか判定</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="462" height="150" class="alignnone wp-image-4425 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-40.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-40.png 462w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-40-300x97.png 300w" sizes="(max-width: 462px) 100vw, 462px" /></p>
<p>B2からB5のセルに文字または数値が入力されてあります。<br />こちらを数値かどうか判定して、結果をD列に表示してみたいと思います。</p>
<p>では再度構文を見てみましょう。</p>
<div class="information-box common-icon-box"><strong>IsNumeric(<span style="color: #ff0000;">値・セル・変数</span>)</strong></div>
<div>例えば<strong><span style="color: #ff0000;">B2</span></strong>のセルを数値かどうか判定したい場合には「<strong>IsNumeric(<span style="color: #ff0000;">Cells(2,2)</span>)」</strong>のように使用します。</div>
<div> </div>
<div><span class="marker-under-red"><strong>数値であれば「True」を出力して数値でなければ「False」を出力します。</strong></span></div>
<p>

</p>
<div>
<p>では見本を数値かどうか判定しましょう。<br />ソースコードはこちらです。</p>
</div>
<div class="blank-box bb-yellow">
<p>Sub セルの数値判定()</p>
<p>Dim cycle</p>
<p>For cycle = 2 To 4 Step 1<br />　If <strong><span style="color: #3366ff;">IsNumeric</span></strong>(<strong><span style="color: #ff0000;">Cells(cycle, 2)</span></strong>) Then<br />　　Cells(cycle, 4) = &#8220;数値です&#8221;<br />　Else<br />　　Cells(cycle, 4) = &#8220;数値ではありません&#8221;<br />　End If<br />Next cycle</p>
<p>End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="477" height="155" class="alignnone wp-image-4426 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-41.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-41.png 477w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-41-300x97.png 300w" sizes="(max-width: 477px) 100vw, 477px" /></p>
<p>この中で<span class="marker-under"><strong>数値なのは「123」なので、D4には「数値です」と出力</strong></span>されています。</p>
<p>対してそれ以外のセルは「数値ではありません」と表示されました。</p>
<h3 class="wp-block-heading"><span id="toc6">・変数の値が数値かどうか判定する</span></h3>
<p>今度は<span class="marker-under"><strong>変数の値を数値かどうか判定</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<div class="blank-box bb-yellow">
<p>Sub 数値判定の例()<br />Dim <strong><span style="color: #ff0000;">num</span> </strong>As Variant<br /><strong><span style="color: #ff0000;">num</span> </strong>= &#8220;123&#8221; &#8216; 数値として解釈可能な文字列<br /><br />If <strong><span style="color: #3366ff;">IsNumeric</span></strong>(<strong><span style="color: #ff0000;">num</span> </strong>) Then<br />　　MsgBox &#8220;数値です&#8221;<br />　Else<br />　　MsgBox &#8220;数値ではありません&#8221;<br />End If<br />End Sub</p>
</div>
<div>
<p>変数の値が<span class="marker-under"><strong>数値であればメッセージボックスで「数値です」と表示され、それ以外は「数値ではありません」と表示</strong></span>します。</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
</div>
</div>
<p><img decoding="async" width="160" height="181" class="alignnone wp-image-4427 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-42.png" /></p>
<div>
<p>見本では<span class="marker-under"><strong>「123」が入力されているので「数値です」というメッセージが表示</strong></span>されました。</p>
<p>これで変数の値も数値であるか確認することが出来ます。</p>
</div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc7">&#x2b1b;︎IsNumeric関数の注意点</span></h2>
<p>IsNumeric関数を使う際には、以下の点に注意が必要です。</p>
<h3><span id="toc8">1. IsNumeric関数の出力結果について</span></h3>
<p>IsNumeric関数は、数値として解釈可能な値をTrueとして返します。<br />つまり、数値以外の値（文字列やブール値など）もTrueと判定されることに注意してください。</p>
<h3><span id="toc9">2.ロケールの影響</span></h3>
<p>数値判定は、ロケール（地域や言語による設定）に影響を受けます。<br />ロケールによっては、小数点や桁区切りの表記方法が異なるため、数値判定の結果も異なる場合があります。</p>
<h2><span id="toc10">&#x2b1b;︎数値判定の活用例</span></h2>
<p>数値判定は、さまざまな場面で役立ちます。以下にいくつかの活用例を紹介します。</p>
<h3><span id="toc11">・変数の数値判定</span></h3>
<p><span class="marker-under"><strong>変数に格納された値が数値であるかどうかを判定</strong></span>し、条件に応じた処理を行うことができます。</p>
<p>例えば、ユーザーからの入力値が数値であるかどうかを確認してから計算を行う場合などに活用できます。</p>
<h3><span id="toc12">・セルの数値判定</span></h3>
<p>Excelの<span class="marker-under"><strong>セルに格納された値が数値かどうかを判定</strong></span>し、条件に応じた処理を行うことができます。</p>
<p>例えば、数値以外の値が入力されたセルに対して警告を表示する場合などに活用できます。</p>
<h3><span id="toc13">・数値判定を活用した処理の例</span></h3>
<p>数値判定を組み合わせることで、より複雑な処理を実現することも可能です。</p>
<p>例えば、<span class="marker-under"><strong>特定の範囲内の数値だけを処理対象とする場合や、数値以外の値が含まれるデータを除外する</strong></span>場合などに活用できます。</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc14">&#x2b1b;︎よくあるエラーと対処法</span></h2>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc15">・ 文字列が数値として解釈できない場合に誤った結果が返る</span></h3>
<p>

</p>
<p> IsNumeric関数を使う前に、<span class="marker-under-red"><strong>文字列が数値として解釈可能かどうかを事前に確認</strong></span>しましょう。</p>
<p>例えば、CIntやCDblなどの変換関数を使って文字列を数値に変換してからIsNumeric関数を適用することで正確な結果を得ることができます。</p>
<h3 class="wp-block-heading"><span id="toc16">・セルに空白や空文字列が含まれる場合に誤った結果が返る</span></h3>
<p>

</p>
<p>セルの<span class="marker-under-red"><strong>値を取得する前に、セルが空でないことを確認</strong></span>しましょう。</p>
<p><strong>IsEmpty関数やLen関数</strong>を使ってセルが空でないかどうかを判定し、空でない場合にのみ数値判定を行うようにします。</p>
<h3 class="wp-block-heading"><span id="toc17">・エラー: ロケールによって数値の判定結果が異なる</span></h3>
<p>

</p>
<p><span class="marker-under-red"><strong>ロケールによって小数点や桁区切りの表記方法が異なるため、数値判定の結果も異なる</strong></span>場合があります。</p>
<p>このような場合は、数値判定の前にロケールを明示的に設定することで一貫性のある結果を得ることができます。</p>
<p>例えば、Application.DecimalSeparatorやApplication.ThousandsSeparatorプロパティを使用して適切な設定を行います。</p>
<h2><span id="toc18">■練習問題</span></h2>
<p>練習問題も別の記事でまとめているので是非参考にしてみてください！</p>
<div class="alert-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c12%e3%80%91%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e4%bb%a5%e4%b8%8b%e3%81%ae%e6%9c%80%e5%a4%a7%e5%80%a4/">【マクロVBA練習問題12】指定した数値以下の最大値を表示！IFの複数条件処理を実践 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc19">&#x2b1b;︎公式の説明</span></h2>
<p>

</p>
<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br />マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>
<p>

</p>
<div class="question-box common-icon-box"><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/isnumeric-function">IsNumeric 関数 (Visual Basic for Applications) | Microsoft Learn</a></div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc20">&#x2b1b;︎まとめ</span></h2>
<p>

</p>
<p>いかがだったでしょうか？</p>
<p>本記事では、マクロVBAにおける数値判定について解説しました。IsNumeric関数を使うことで、変数やセルに格納された値が数値かどうかを簡単に判定することができます。</p>
<p>数値判定は、ユーザーからの入力値の検証やデータ処理の際に役立ちます。正しい数値の取り扱いやエラーの防止に寄与することができます。</p>
<p>是非、IsNumeric関数を活用して効率的なVBAプログラミングを行ってみてください。</p>
<p>

</p>
<p>

</p>
<p>それでは次回の記事でお会いしましょう。</p>
<p></p>]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91isnumeric%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%95%b0%e5%80%a4%e5%88%a4%e5%ae%9a%ef%bc%81%e5%a4%89%e6%95%b0%e3%83%bb%e3%82%bb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4423</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題19】文字列を連結・つなげる！複数の文字・数値・セル・変数をつなげて表示</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c19%e3%80%91%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e9%80%a3%e7%b5%90%e3%83%bb%e3%81%a4%e3%81%aa%e3%81%92%e3%82%8b%ef%bc%81/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c19%25e3%2580%2591%25e6%2596%2587%25e5%25ad%2597%25e5%2588%2597%25e3%2582%2592%25e9%2580%25a3%25e7%25b5%2590%25e3%2583%25bb%25e3%2581%25a4%25e3%2581%25aa%25e3%2581%2592%25e3%2582%258b%25ef%25bc%2581</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 05 Jul 2023 14:28:26 +0000</pubDate>
				<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[文字]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[連結]]></category>
		<category><![CDATA[＆]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4409</guid>

					<description><![CDATA[目次 練習問題と内容について・練習問題の狙い・練習問題19について練習問題の内容と動作説明問題内容動作説明ヒント・ヒントその1・ヒントその2解答コード・回答その①・回答その②必要な知識ループ構造文字列の連結まとめ 練習問 [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">練習問題と内容について</a><ol><li><a href="#toc2" tabindex="0">・練習問題の狙い</a></li><li><a href="#toc3" tabindex="0">・練習問題19について</a></li></ol></li><li><a href="#toc4" tabindex="0">練習問題の内容と動作説明</a><ol><li><a href="#toc5" tabindex="0">問題内容</a></li><li><a href="#toc6" tabindex="0">動作説明</a></li></ol></li><li><a href="#toc7" tabindex="0">ヒント</a><ol><li><a href="#toc8" tabindex="0">・ヒントその1</a></li><li><a href="#toc9" tabindex="0">・ヒントその2</a></li></ol></li><li><a href="#toc10" tabindex="0">解答コード</a><ol><li><a href="#toc11" tabindex="0">・回答その①</a></li><li><a href="#toc12" tabindex="0">・回答その②</a></li></ol></li><li><a href="#toc13" tabindex="0">必要な知識</a><ol><li><a href="#toc14" tabindex="0">ループ構造</a></li><li><a href="#toc15" tabindex="0">文字列の連結</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題19について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>指定されたセルの文字列を連結・つなげて表示する練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル<span class="marker-under"><strong>A1、A2、A3の文字列を連結</strong></span>する</p>
<p><img decoding="async" width="1174" height="258" class="alignnone wp-image-4410 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-34.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-34.png 1174w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-34-300x66.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-34-1024x225.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-34-768x169.png 768w" sizes="(max-width: 1174px) 100vw, 1174px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p> VBAを使用して、セルA1、A2、A3に入力された文字列を取得し、それらを連結して1つの文字列として表示します。</p>
<p>この問題では、セルA1、A2、A3の文字列を連結し、結果を表示する必要があります。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>セルに値を表示するためには、Rangeオブジェクトを使用します。<br />セルを指定して該当するセルオブジェクトを取得し、計算する必要があります。</p>
<p>セルを指定するには、<span class="marker-under"><strong>Range(&#8220;A1&#8221;)というようにセルを指定</strong></span>します</p>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>取得したセルの値を文字列として<strong>連結するためには、連結演算子（&amp;）を使用</strong>します。</p>
<p>例えば、<span class="marker-under"><strong><span style="color: #ff0000;">表示先</span>= <span style="color: #3366ff;">文字1</span> &amp; <span style="color: #3366ff;">文字2</span></strong></span> というように、使用することで<span class="marker-under"><strong><span style="color: #3366ff;">文字1</span></strong><span style="color: #000000;"> </span><strong><span style="color: #000000;">と</span> <span style="color: #3366ff;">文字2<span style="color: #000000;">を連結できます</span></span></strong></span></p>
<p>&nbsp;</p>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc10">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc11">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise19to1()<br />Dim <strong><span style="color: #ff0000;">result </span></strong>As String<br /><br /><strong><span style="color: #ff0000;">result </span></strong>= <strong><span style="color: #3366ff;">Range(&#8220;A1&#8221;).Value</span></strong> &amp; <span style="color: #3366ff;"><strong>Range(&#8220;A2&#8221;).Value</strong></span> &amp; <span style="color: #3366ff;"><strong>Range(&#8220;A3&#8221;).Value</strong></span><br /><br />Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">result </span></strong><br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードでは、セルA1、A2、A3の文字列を連結して結果を表示するVBAのマクロです。</p>
<p>解答コードでは、<span style="color: #ff0000;"><strong>result</strong></span>という変数を用意し、それぞれのセルの値を取得して連結しています。</p>
<p>最後に、C2に連結した文字を表示します。</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="540" height="196" class="alignnone wp-image-4412 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-35.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-35.png 540w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-35-300x109.png 300w" sizes="(max-width: 540px) 100vw, 540px" /></p>
<p><span class="marker-under"><strong>A1からA3の文字をつなげることが出来ました。</strong></span><br /><br /></p>
</div>
<h3><span id="toc12">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise19to2()<br />Dim <strong><span style="color: #ff0000;">result </span></strong>As String<br />Dim cycle As Long<br /><br />For cycle = 1 To 3 Step 1<br /><strong><span style="color: #ff0000;">result </span></strong>= <strong><span style="color: #ff0000;">result </span></strong>&amp; <strong><span style="color: #3366ff;">Cells(cycle, 1)</span></strong><br />Next cycle<br /><br />Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">result </span></strong><br />End Sub</p>
</div>
<div>
<p>上記のコードでは、Cells関数を使用して、行番号と列番号を指定してセルの値を取得し、それらを連結して結果を表示しています。<br /><br /></p>
<p>解答コードでは、resultという変数を用意し、それぞれのセルの値を取得して連結しています。<br />最後に、C2に連結した文字を表示します</p>
</div>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc13">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc14">ループ構造</span></h3>
<p>回答②の繰り返し処理をするために、セル範囲内の各セルを順番に読み取るループ構造が必要です。 <br />For Nextループを使った反復処理を利用した反復処理について理解しておくと良いでしょう。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【マクロVBA】For…Nextで指定した数値で繰り返し・ループをする方法と途中で抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>これらの知識を応用して、問題を解くためのコードを作成しましょう。  </p>
<h3><span id="toc15">文字列の連結</span></h3>
<p> VBAでは、文字列の連結には連結演算子（&amp;）を使用します。<br />連結演算子を使うことで、複数の文字列を結合して1つの文字列にすることができます。</p>
<div class="blank-box sticky st-yellow"><span class="marker-under"><strong><span style="color: #ff0000;">表示先</span>= <span style="color: #3366ff;">文字1</span> &amp; <span style="color: #3366ff;">文字2</span></strong></span></div>
<h2 class="wp-block-heading"><span id="toc16">まとめ</span></h2>
<p>この練習問題では、RangeオブジェクトとValueプロパティを使用してセルの値を取得し、連結演算子を使って文字列を連結しました。</p>
<p>&nbsp;</p>
<p>練習問題に取り組む際は、解答コードと必要な知識を参考にしてください。<br />練習問題の難易度を上げながら、VBAのスキルを磨いていくことができます。</p>
<p>以上が練習問題19となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4409</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題17】指定・対象の文字・数値を含んでいるか、確認しカウントする方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c17%e3%80%91%e6%8c%87%e5%ae%9a%e3%83%bb%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%83%bb%e6%95%b0%e5%80%a4%e3%82%92/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c17%25e3%2580%2591%25e6%258c%2587%25e5%25ae%259a%25e3%2583%25bb%25e5%25af%25be%25e8%25b1%25a1%25e3%2581%25ae%25e6%2596%2587%25e5%25ad%2597%25e3%2583%25bb%25e6%2595%25b0%25e5%2580%25a4%25e3%2582%2592</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 04 Jul 2023 15:14:39 +0000</pubDate>
				<category><![CDATA[検索・置換]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[InStr]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[文字]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4396</guid>

					<description><![CDATA[目次 練習問題と内容について・練習問題の狙い・練習問題17について練習問題の内容と動作説明問題内容動作説明ヒント・ヒントその1・ヒントその2・ヒントその3解答コード・回答その①・回答その②必要な知識ループ構造文字列の検索 [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">練習問題と内容について</a><ol><li><a href="#toc2" tabindex="0">・練習問題の狙い</a></li><li><a href="#toc3" tabindex="0">・練習問題17について</a></li></ol></li><li><a href="#toc4" tabindex="0">練習問題の内容と動作説明</a><ol><li><a href="#toc5" tabindex="0">問題内容</a></li><li><a href="#toc6" tabindex="0">動作説明</a></li></ol></li><li><a href="#toc7" tabindex="0">ヒント</a><ol><li><a href="#toc8" tabindex="0">・ヒントその1</a></li><li><a href="#toc9" tabindex="0">・ヒントその2</a></li><li><a href="#toc10" tabindex="0">・ヒントその3</a></li></ol></li><li><a href="#toc11" tabindex="0">解答コード</a><ol><li><a href="#toc12" tabindex="0">・回答その①</a></li><li><a href="#toc13" tabindex="0">・回答その②</a></li></ol></li><li><a href="#toc14" tabindex="0">必要な知識</a><ol><li><a href="#toc15" tabindex="0">ループ構造</a></li><li><a href="#toc16" tabindex="0">文字列の検索</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題17について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>指定されたセルのうち、対象の文字を含んでいるセルの数を表示する練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル番地A<span class="marker-under"><strong>1からA10までのセルのうち、「A」の文字が含まれているセルの個数を表示</strong></span>する</p>
<p><img decoding="async" width="853" height="392" class="alignnone wp-image-4397 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-30.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-30.png 853w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-30-300x138.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-30-768x353.png 768w" sizes="(max-width: 853px) 100vw, 853px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>VBAを使用して、セル番地A1からA10までのセルのなかで、セル内の文字列に「A」が含まれているかどうかを確認します。</p>
<p>含まれている場合はカウントし、最終的な結果として含まれているセルの個数を表示します。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>セルに値を表示するためには、Rangeオブジェクトを使用します。<br />セル番地を指定して該当するセルオブジェクトを取得し、計算する必要があります。</p>
<p>セル範囲を指定するには、<span class="marker-under"><strong>Range(&#8220;D1:D5&#8221;)というように範囲の開始セルと終了セルを指定</strong></span>します</p>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>セルを順次、確認するためには、<span class="marker-under"><strong>ループ構造を使用</strong></span>します。<br />For文を使って、A1からA10までのセルを順番に処理します。</p>
<h3><span id="toc10">・ヒントその3</span></h3>
<p>文字列内に特定の文字が含まれているかどうかを確認するためには、<span class="marker-under"><strong>InStr関数</strong></span>を使用します。</p>
<p>構文は下記の通りです。</p>
<div class="alert-box common-icon-box"><strong>InStr(<span class="bold-green">[検索開始位置]</span>,<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索の種類]</span>)</strong></div>
<p>例えば、<span class="marker-under-red"><strong>InStr(<span style="color: #339966;">1</span>, &#8220;<span style="color: #ff0000;">ABC</span>&#8220;, &#8220;<span style="color: #00ccff;">A</span>&#8220;)は文字列「ABC」内に「A」が含まれているかを調べる</strong></span>ことができます。</p>
<p>&nbsp;</p>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc11">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc12">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise17to1()<br />Dim <strong><span style="color: #ff0000;">count</span> </strong>As Integer<br /><strong><span style="color: #ff0000;">count</span> </strong>= 0<br /><br />For i = 1 To 10<br />If <strong><span style="color: #3366ff;">InStr</span></strong>(1, Cells(i, 1).Value, &#8220;A&#8221;) &gt; 0 Then<br /><strong><span style="color: #ff0000;">count</span> </strong>= <strong><span style="color: #ff0000;">count</span> </strong>+ 1<br />End If<br />Next i<br /><br />Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">count</span> </strong><br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードは、セル番地A1からA10までのセルを走査し、「A」の文字が含まれているセルの個数を表示するVBAのマクロです。</p>
</div>
<div class="st-yellow blank-box sticky">
<p><span class="marker-under-blue"><strong>解答コードの解説</strong></span><br />1. count変数を宣言し、0で初期化します。この変数は含まれているセルの個数をカウントします。<br />2. Forループを使用して、A1からA10までのセルを順番に処理します。<br />3. InStr関数を使用して、セル内の文字列に「A」が含まれているかどうかを確認します。<br />　 InStr関数は、対象の文字列内に指定した文字が含まれている場合はその位置を返し、含まれていない場合は0を返します。<br />4. もしセル内に「A」が含まれている場合、count変数をインクリメントします。<br />5. ループの終了後、C2にセルの個数を表示します。</p>
</div>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="410" height="319" class="alignnone wp-image-4398 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-31.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-31.png 410w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-31-300x233.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></p>
<p><span class="marker-under"><strong>A1からA10で「A」の文字を含むセル</strong></span><span class="marker-under"><strong>の数は「3セル」</strong></span>ということがわかりました。</p>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise17to2()<br />Dim <strong><span style="color: #ff0000;">count</span> </strong>As Integer<br /><strong><span style="color: #ff0000;">count</span> </strong>= 0<br /><br />For Each cell In Range(&#8220;A1:A10&#8221;)<br />If <strong><span style="color: #3366ff;">InStr</span></strong>(1, cell.Value, &#8220;A&#8221;) &gt; 0 Then<br /><strong><span style="color: #ff0000;">count</span> </strong>= <strong><span style="color: #ff0000;">count</span> </strong>+ 1<br />End If<br />Next cell<br /><br />Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">count</span> </strong><br />End Sub</p>
</div>
<div>
<p>&nbsp;</p>
<p>上記のコードでは、For Each文を使用してセル範囲A1からA10までの各セルを順番に処理しています。</p>
<p>それぞれのセルの値に対して、InStr関数を使用して「A」の文字の存在を確認し、含まれている場合はカウントします。<br />最終的な結果として、含まれているセルの個数をC2に表示します。</p>
</div>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc14">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc15">ループ構造</span></h3>
<p>練習問題で使用した繰り返し処理を行うためにはループ構造が必要です。<br />For Nextループを使った反復処理や、Forループを使ったカウンターを利用した反復処理について理解しておくと良いでしょう。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【マクロVBA】For…Nextで指定した数値で繰り返し・ループをする方法と途中で抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-10%e3%80%91for-eath-%e3%81%a7%e9%85%8d%e5%88%97%e3%83%bb%e3%82%b3%e3%83%ac%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e5%86%85%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97/">【マクロVBA】For Eath Nextで配列・コレクション内で繰り返し・ループ処理!抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>これらの知識を応用して、問題を解くためのコードを作成しましょう。  </p>
<h3><span id="toc16">文字列の検索</span></h3>
<p>文字列内に特定の文字や文字列が含まれているかどうかを確認するためには、InStr関数を使用します。</p>
<p>InStr関数は、検索対象の文字列内で指定した文字や文字列が最初に出現する位置を返します。<br />もし見つからない場合は0を返します。</p>
<p>使用方法は下記の通りです。</p>
<div class="alert-box common-icon-box"><strong>InStr(<span class="bold-green">[検索開始位置]</span>,<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索の種類]</span>)</strong></div>
<div>詳しい説明は下記記事を参照してください。</div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e5%80%8b%e3%83%bb%e4%bd%95%e6%96%87%e5%ad%97%e3%81%82%e3%82%8b%e3%81%8binstr%e9%96%a2/">【マクロVBA】対象の文字が何個・何文字あるかInStr関数で求める！変数・セルに対応 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、VBAを使用してExcelの操作を行いました。具体的には、セルに値を入力したり、セル範囲を走査したりする問題を解きました。</p>
<p>練習問題17では、セル番地A1からA10までのセルのうち、「A」の文字が含まれているセルの個数を表示することを目標としました。</p>
<p>解答コードでは、ForループやFor Eachループを使用してセルを走査し、InStr関数を使って文字列内に「A」が含まれているかを判定しました。</p>
<p>必要な知識として、ループ構造の理解やセルの値の取得方法、文字列の検索方法が重要でした。<br />これらの知識を活用することで、Excelの操作を効率的に行うことができます。</p>
<p>練習問題を通じて、VBAの基本的な構文や関数の使い方を練習することができました。<br />続く問題では、さらに応用的な操作や複雑な問題に挑戦してみることができます。</p>
<p>&nbsp;</p>
<p>以上が練習問題17となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4396</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題13】セルの数値を元に、条件に応じて文字色を変更！文字の色の変更方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c13%e3%80%91%e3%82%bb%e3%83%ab%e3%81%ae%e6%95%b0%e5%80%a4%e3%82%92%e5%85%83%e3%81%ab%e3%80%81%e6%9d%a1%e4%bb%b6%e3%81%ab/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c13%25e3%2580%2591%25e3%2582%25bb%25e3%2583%25ab%25e3%2581%25ae%25e6%2595%25b0%25e5%2580%25a4%25e3%2582%2592%25e5%2585%2583%25e3%2581%25ab%25e3%2580%2581%25e6%259d%25a1%25e4%25bb%25b6%25e3%2581%25ab</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 03 Jul 2023 14:06:38 +0000</pubDate>
				<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[文字の色]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[練習問題]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4373</guid>

					<description><![CDATA[目次 練習問題と内容について・練習問題の狙い・練習問題13について練習問題の内容と動作説明問題内容動作説明ヒント・ヒントその1・ヒントその2・ヒントその3解答コード・回答その①・回答その②必要な知識ループ構造条件分岐セル [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">練習問題と内容について</a><ol><li><a href="#toc2" tabindex="0">・練習問題の狙い</a></li><li><a href="#toc3" tabindex="0">・練習問題13について</a></li></ol></li><li><a href="#toc4" tabindex="0">練習問題の内容と動作説明</a><ol><li><a href="#toc5" tabindex="0">問題内容</a></li><li><a href="#toc6" tabindex="0">動作説明</a></li></ol></li><li><a href="#toc7" tabindex="0">ヒント</a><ol><li><a href="#toc8" tabindex="0">・ヒントその1</a></li><li><a href="#toc9" tabindex="0">・ヒントその2</a></li><li><a href="#toc10" tabindex="0">・ヒントその3</a></li></ol></li><li><a href="#toc11" tabindex="0">解答コード</a><ol><li><a href="#toc12" tabindex="0">・回答その①</a></li><li><a href="#toc13" tabindex="0">・回答その②</a></li></ol></li><li><a href="#toc14" tabindex="0">必要な知識</a><ol><li><a href="#toc15" tabindex="0">ループ構造</a></li><li><a href="#toc16" tabindex="0">条件分岐</a></li><li><a href="#toc17" tabindex="0">セルの文字色の変更</a></li></ol></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題13について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>指定されたセルの数値を元に、条件に応じて文字色を変更する練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セルA1からA10までの<span class="marker-under"><strong>数値を元に、条件に応じて文字色を変更</strong></span>する</p>
<p><img decoding="async" class="alignnone wp-image-4374 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-22.png" width="346" height="245" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-22.png 555w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-22-300x212.png 300w" sizes="(max-width: 346px) 100vw, 346px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>VBAを使用して、セルA1からA10までの数値を読み取り、<span class="marker-under"><strong>特定の条件を満たす場合に文字色を変更</strong></span>します。</p>
<p>この問題では、<span class="marker-under-red"><strong>セルの数値が100を超える場合は赤色</strong></span>、<span class="marker-under-blue"><strong>200を超える場合は青色に変更</strong></span>する必要があります。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>ループを使用して<span class="marker-under"><strong>セル番地A1からA10までの値を順番に取得</strong></span>します。<br /><br />例えば下記のような見本を紹介します。</p>
<div class="blank-box bb-blue"><strong>For Each cell In Range(&#8220;A1:A10&#8221;)</strong><br /> &#8216;ここに処理<br /><strong>Next cell</strong></div>
<div>これにより、A1からA10まで順に繰り返し処理を行います。</div>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>セルの文字色を変更するには、<span class="marker-under"><strong><span class="bold green">Font</span>オブジェクトの<span style="color: #ff6600;">Color</span>プロパティ</strong></span>を使用します。</p>
<p>例えば、<strong>Range(&#8220;B2&#8221;).<span class="marker-under"><span class="bold green">Font</span></span>.<span class="marker-under"><span style="color: #ff6600;">Color</span></span>= RGB(<span class="bold red">255, 0, 0</span>)</strong>というコードを使って、<br />セルB2の文字色を赤色に変更することができます。</p>
<h3><span id="toc10">・ヒントその3</span></h3>
<p><span class="marker-under"><strong>取得した値が指定数値以上であるかどうかを判定する条件分岐</strong></span>を使用します。</p>
<p><span class="marker-under-red"><strong>条件分岐はIf Then</strong></span>を使用します。</p>
<p>&nbsp;</p>
<p>使用方法は下記の通りです。</p>
<div class="question-box common-icon-box"><span style="font-size: 20px;"><strong>If <span style="color: #ff0000;">条件式1</span> Then<br />　’条件に合った際の処置<br />End If</strong></span></div>
<div>
<p>&nbsp;</p>
</div>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc11">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc12">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise13to1()<br />Dim cell As Range<br /><br />For Each <strong><span style="color: #339966;">cell</span> </strong>In Range(&#8220;A1:A10&#8221;)<br />　If <strong><span style="color: #339966;">cell</span> </strong>.Value &gt; <strong><span style="color: #0000ff;">200</span> </strong>Then<br /><strong><span style="color: #339966;">　　　cell</span> </strong>.Font.Color = RGB(<span style="color: #0000ff;"><strong>0, 0, 255</strong></span>) &#8216; 青色<br />　　ElseIf <strong><span style="color: #339966;">cell</span> </strong>.Value &gt; <strong><span style="color: #ff0000;">100</span></strong> Then<br /><strong><span style="color: #339966;">　　　cell</span> </strong>.Font.Color = RGB(<span style="color: #ff0000;"><strong>255, 0, 0</strong></span>) &#8216; 赤色<br />　End If<br />Next <strong><span style="color: #339966;">cell</span> </strong><br /><br />End Sub</p>
</div>
<div> </div>
<p>上記のコードでは、セルA1からA10までの数値を読み取り、条件に応じて文字色を変更しています。<br /><span class="marker-under"><strong>セルの数値が200を超える場合は青色、100を超える場合は赤色に変更</strong></span>されます。</p>
<p>では実行した結果を見ていきましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="175" height="358" class="alignnone wp-image-4375 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-23.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-23.png 175w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-23-147x300.png 147w" sizes="(max-width: 175px) 100vw, 175px" /></p>
<p>上手く機能していますね。</p>
<p>解答コードでは、<span class="marker-under"><strong>For Eachループを使用してセル範囲内の各セルに対して処理</strong></span>を行っています。</p>
<p>各セルの値を比較し、条件に応じて文字色を変更するために、FontオブジェクトのColorプロパティを使用してRGB値を指定しています。</p>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise13to2()<br />Dim i As Integer<br /><br />For i = 1 To 10<br />　If <strong><span style="color: #339966;">Cells(i, 1)</span></strong>.Value &gt; <strong><span style="color: #3366ff;">200</span></strong> Then<br />　　　<strong><span style="color: #339966;">Cells(i, 1)</span></strong>.Font.Color = RGB(<span style="color: #3366ff;"><strong>0, 0, 255</strong></span>) &#8216; 青色<br />　　ElseIf <strong><span style="color: #339966;">Cells(i, 1)</span></strong>.Value &gt; <strong><span style="color: #ff0000;">100</span></strong> Then<br />　　　<strong><span style="color: #339966;">Cells(i, 1)</span></strong>.Font.Color = RGB(<span style="color: #ff0000;"><strong>255, 0, 0</strong></span>) &#8216; 赤色<br />　End If<br />Next i<br /><br />End Sub</p>
</div>
<div>
<p><br />上記のコードでは、セルA1からA10までの数値を読み取り、条件に応じて文字色を変更しています。</p>
<p>セルの数値が200を超える場合は青色、100を超える場合は赤色に変更されます。</p>
<p>解答コードでは、<span class="marker-under"><strong>Forループを使用して1から10までの行番号を繰り返し処理</strong></span>しています。<br />Cells(i, 1)は、i番目の行の1列目のセルを表します。</p>
<p>各セルの値を比較し、条件に応じて文字色を変更しています。</p>
</div>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc14">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc15">ループ構造</span></h3>
<p>偶数の個数を数えるためには、<span class="marker-under"><strong>セル番地A1からA10までの値を1つずつ判定</strong></span>する必要があります。<br /><strong>ループ構造</strong>を使用して、指定した範囲のセルを順番に処理する方法を理解する必要があります。<br />今回は<span class="marker-under-red"><strong>For Each文とFor Next文</strong></span>を使用しました。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【マクロVBA】For…Nextで指定した数値で繰り返し・ループをする方法と途中で抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-10%e3%80%91for-eath-%e3%81%a7%e9%85%8d%e5%88%97%e3%83%bb%e3%82%b3%e3%83%ac%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e5%86%85%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97/">【マクロVBA】For Eath Nextで配列・コレクション内で繰り返し・ループ処理!抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h3><span id="toc16">条件分岐</span></h3>
<p>セルの値が偶数かどうかを判定するためには、条件分岐の文法を理解する必要があります。<br />VBAではIf&#8230;Then&#8230;Else文やSelect Case文などが使用されます。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-9%e3%80%91if-then%e3%81%a7%e6%9d%a1%e4%bb%b6%e5%88%86%e5%b2%90%e3%83%bb%e5%88%a4%e5%88%a5%e3%82%92%e3%81%99%e3%82%8b%e2%97%8b%e2%97%8b%e3%81%aa%e3%82%89/">【マクロVBA】If …Thenで条件分岐・判別をする!Elseで異なる処理パターンも可能に ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h3><span id="toc17">セルの文字色の変更</span></h3>
<p>セルの文字色を変更するには、<span class="marker-under"><strong>FontオブジェクトのColorプロパティ</strong></span>を使用します。<br />文字色はRGB値（赤、緑、青）で指定されます。<br />例えば、赤色は`RGB(255, 0, 0)`で表されます。</p>
<div class="blank-box bb-yellow"><span class="marker" style="font-size: 24px;"><strong>RGBの例<br /><br /></strong></span>白:RGB(0,0,0)<br />黒:RGB(255,255,255)<br />赤:RGB(255,0,0)<br />黄色:RGB(255,255,0)<br />青:RGB(0,0,255)</div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e6%96%87%e5%ad%97%e3%81%ab%e8%89%b2%e3%82%92%e3%81%a4%e3%81%91%e3%82%8b%e3%83%bb%e8%a8%ad%e5%ae%9a%e3%83%bb%e5%a4%89%e6%9b%b4%ef%bc%81-font-color/">【マクロVBA】文字に色をつける・設定・変更！ Font.ColorとRGB・Index・定数で変更 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>
<p>この練習問題では、ExcelのVBAを使用して特定の条件に基づいてセルの文字色を変更する方法について学びました。</p>
<p>具体的な問題内容は、セルA1からA10までの数値を元に、100を超える数値は赤文字、200を超える数値は青文字に変更するというものでした。</p>
<p>解答コードでは、セルの値を読み取り、条件に応じて文字色を変更するために、<br />RangeオブジェクトやCellsオブジェクト、Fontオブジェクトを使用しました。また、RGB関数を使用して色を指定しました。</p>
<p>必要な知識としては、VBAの基礎、セルの操作、条件分岐、文字色の変更などがありました。<br />これらの知識を習得することで、問題を解決するためのコードを作成できます。</p>
<p>練習問題を通じて、VBAの応用的な使い方やセル操作の基本的な操作方法を学ぶことができました。<br />これらの知識は、Excelの自動化やデータ処理など、実務での業務効率化にも役立つものです。</p>
<p>&nbsp;</p>
<p>以上で練習問題12となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4373</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題11】文字数・文字列の長さを計算・算出し、合計値を計算する</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c11%e3%80%91%e6%96%87%e5%ad%97%e6%95%b0%e3%83%bb%e6%96%87%e5%ad%97%e5%88%97%e3%81%ae%e9%95%b7%e3%81%95%e3%82%92%e8%a8%88/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c11%25e3%2580%2591%25e6%2596%2587%25e5%25ad%2597%25e6%2595%25b0%25e3%2583%25bb%25e6%2596%2587%25e5%25ad%2597%25e5%2588%2597%25e3%2581%25ae%25e9%2595%25b7%25e3%2581%2595%25e3%2582%2592%25e8%25a8%2588</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 03 Jul 2023 02:35:25 +0000</pubDate>
				<category><![CDATA[計算・関数]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[文字数]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[文字列の長さ]]></category>
		<category><![CDATA[Len]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4359</guid>

					<description><![CDATA[目次 練習問題と内容について・練習問題の狙い・練習問題11について練習問題の内容と動作説明問題内容動作説明ヒント・ヒントその1・ヒントその2・ヒントその3解答コード・回答その①・回答その②必要な知識ループ構造文字列の長さ [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">練習問題と内容について</a><ol><li><a href="#toc2" tabindex="0">・練習問題の狙い</a></li><li><a href="#toc3" tabindex="0">・練習問題11について</a></li></ol></li><li><a href="#toc4" tabindex="0">練習問題の内容と動作説明</a><ol><li><a href="#toc5" tabindex="0">問題内容</a></li><li><a href="#toc6" tabindex="0">動作説明</a></li></ol></li><li><a href="#toc7" tabindex="0">ヒント</a><ol><li><a href="#toc8" tabindex="0">・ヒントその1</a></li><li><a href="#toc9" tabindex="0">・ヒントその2</a></li><li><a href="#toc10" tabindex="0">・ヒントその3</a></li></ol></li><li><a href="#toc11" tabindex="0">解答コード</a><ol><li><a href="#toc12" tabindex="0">・回答その①</a></li><li><a href="#toc13" tabindex="0">・回答その②</a></li></ol></li><li><a href="#toc14" tabindex="0">必要な知識</a><ol><li><a href="#toc15" tabindex="0">ループ構造</a></li><li><a href="#toc16" tabindex="0">文字列の長さの計算</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題11について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>指定されたセルの文字数・文字列の長さの合計値を計算し、表示する練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル番地A1からA10までの<span class="marker-under"><strong>文字数・文字列の長さの合計値を計算</strong></span>し、セル番地C2に結果を表示する。</p>
<p><img decoding="async" class="alignnone wp-image-4360 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-16.png" width="741" height="320" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-16.png 1344w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-16-300x130.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-16-1024x443.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-16-768x332.png 768w" sizes="(max-width: 741px) 100vw, 741px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>VBAを使用して、セル番地A1からA10までの文字列の長さを計算し、その合計値をセル番地C2に表示します。</p>
<p>具体的には、A1からA10までのセルの値を取得し、文字数・文字列の長さを計算していき、最終的な合計値をC2に表示する必要があります。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>ループを使用して<span class="marker-under"><strong>セル番地A1からA10までの値を順番に取得</strong></span>します。<br /><br />例えば下記のような見本を紹介します。</p>
<div class="blank-box bb-blue"><strong>For Each cell In Range(&#8220;A1:A10&#8221;)</strong><br /> &#8216;ここに処理<br /><strong>Next cell</strong></div>
<div>これにより、A1からA10まで順に繰り返し処理を行います。</div>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>セルに入力されてある文字数・文字列の長さを計算するためには「Len関数」を使用する必要があります。</p>
<p>Len関数の構文は下記の通りです。</p>
<div class="memo-box common-icon-box"><strong><span class="bold-red">出力先</span></strong><b>＝Len(<span class="bold-blue">対象となる文字列</span>)</b></div>
<div>こちらの構文を活用して、文字数・文字列の長さを計算してください。</div>
<h3><span id="toc10">・ヒントその3</span></h3>
<p>文字数・文字列の長さをカウントアップします。</p>
<p><span class="marker-under"><strong>カウントアップ方法は「変数＝変数+1」</strong></span>で指定した変数がカウントアップされます。</p>
<p><br />これらのヒントを参考にして、解答コードを作成してみてください。  </p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc11">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc12">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise11to1()<br /><br />　Dim <strong><span style="color: #ff0000;">totalLength</span> </strong>As Integer<br />　Dim cell As Range</p>
<p>　<strong><span style="color: #ff0000;">totalLength</span> </strong>= 0<br />　For Each cell In Range(&#8220;<span style="color: #339966;"><strong>A1:A10</strong></span>&#8220;)<br />　　<strong><span style="color: #ff0000;">totalLength</span> </strong>= <strong><span style="color: #ff0000;">totalLength</span> </strong>+ Len(cell.Value)<br />　Next cell</p>
<p>　Range(&#8220;<strong><span style="color: #0000ff;">C2</span></strong>&#8220;).Value = totalLength<br /><br />End Sub</p>
</div>
<div>
<p>上記のコードは、セル番地<span style="color: #339966;"><strong>A1</strong></span>から<span style="color: #339966;"><strong>A10</strong></span>までの文字列の長さの合計値を計算し、セル番地<strong><span style="color: #0000ff;">C2</span></strong>に結果を表示するVBAのマクロです。</p>
<p>解答コードの流れは以下の通りです<br /><br />1. <strong><span style="color: #ff0000;">totalLength</span> </strong>という変数を宣言し、合計値を保持します。<br />2. ループを使用して、セル番地<strong><span style="color: #339966;">A1</span></strong>から<span style="color: #339966;"><strong>A10</strong></span>までのセルの値を取得します。<br />3. 取得したセルの値の文字列の長さを計算し、合計値に加算します。<br />4. 最終的な合計値をセル番地<strong><span style="color: #0000ff;">C2</span></strong>に表示します。</p>
</div>
<p>では実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" class="alignnone wp-image-4361 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-17.png" width="461" height="364" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-17.png 658w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-17-300x237.png 300w" sizes="(max-width: 461px) 100vw, 461px" /></p>
<p><span class="marker-under"><strong>文字数の合計は「33」</strong></span>となりました。<br /><img decoding="async" class="alignnone wp-image-4362 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-18.png" width="265" height="362" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-18.png 400w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-18-219x300.png 219w" sizes="(max-width: 265px) 100vw, 265px" /></p>
<p>文字数の合計は手動で数えても「33」なので問題なく機能していることが分かります。</p>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise11to2()<br /><br />Dim <strong><span style="color: #ff0000;">totalLength</span> </strong>As Integer<br />Dim <strong><span style="color: #3366ff;">TargetLength</span> </strong>As Integer</p>
<p>　<strong><span style="color: #ff0000;">totalLength</span> </strong>= 0<br />　For i = 1 To 10<br />　　<strong><span style="color: #3366ff;">TargetLength</span> </strong>= <strong><span style="color: #339966;">Len(Cells(i, 1))</span></strong><br />　　<strong><span style="color: #ff0000;">totalLength</span> </strong>= <strong><span style="color: #ff0000;">totalLength</span> </strong>+ <strong><span style="color: #3366ff;">TargetLength</span> </strong><br />　Next i</p>
<p>　Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">totalLength</span> </strong></p>
<p><br />End Sub</p>
</div>
<div>
<p>上記のコードでは、Forループを使用してセル番地A1からA10までの文字列の長さを計算しています。<br />変数「<strong><span style="color: #339966;">i</span></strong>」を1から10までの値で変化させ、<strong><span class="marker-under"><span style="color: #339966;">Len(Cells(i, 1))</span>を使用してセルの値の文字の数を取得</span></strong>しています。</p>
<p>計算した文字列の長さを<strong><span style="color: #ff0000;">totalLength</span></strong>に加算し、最終的な合計値をセル番地C2に表示しています。</p>
</div>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc14">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc15">ループ構造</span></h3>
<p>偶数の個数を数えるためには、<span class="marker-under"><strong>セル番地A1からA10までの値を1つずつ判定</strong></span>する必要があります。<br /><strong>ループ構造</strong>を使用して、指定した範囲のセルを順番に処理する方法を理解する必要があります。<br />今回は<strong>For Each文</strong>と<strong>For Next文</strong>を使用しました。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【マクロVBA】For…Nextで指定した数値で繰り返し・ループをする方法と途中で抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-10%e3%80%91for-eath-%e3%81%a7%e9%85%8d%e5%88%97%e3%83%bb%e3%82%b3%e3%83%ac%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e5%86%85%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97/">【マクロVBA】For Eath Nextで配列・コレクション内で繰り返し・ループ処理!抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h3><span id="toc16">文字列の長さの計算</span></h3>
<p><span class="marker-under"><strong>文字列の長さを計算するために、Len関数を使用</strong></span>します。Len関数は、文字列の長さを返します。</p>
<p>構文をは下記の通りです。</p>
<p><strong><span class="bold-red">出力先</span></strong><b>＝Len(<span class="bold-blue">対象となる文字列</span>)</b></p>
<p>とてもシンプルな関数ですね。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ae%e6%96%87%e5%ad%97%e6%95%b0%e3%82%92%e6%b1%82%e3%82%81%e3%82%8b%e6%96%b9%e6%b3%95lenb%e9%96%a2/">【マクロVBA】セル・変数の文字数を求める方法!LenB関数でバイトデータでも対応可能！ ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>&nbsp;</p>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、VBAを使用してセル番地A1からA10までの文字列の長さの合計値を計算し、セル番地C2に結果を表示する方法を学びました。</p>
<p>具体的には、Forループを使用してセルの範囲を繰り返し処理し、各セルの値の文字列の長さを計算しました。<br />計算した長さを合計値に加算していき、最終的な結果をセル番地C2に表示しました。</p>
<p>この問題を解くためには、ループ構造の理解、セルの範囲指定、文字列の長さの計算、変数の宣言と使用といった基本的な知識が必要です。</p>
<p>&nbsp;</p>
<p>VBAを使ってExcelの操作を自動化することで、繰り返し行われる処理や複雑な計算を効率的に実行することができます。</p>
<p>練習問題を通じて、VBAのスキルを向上させ、Excelの操作やデータ処理の効率化を実現するための能力を身につけていきましょう。</p>
<p>&nbsp;</p>
<p>以上で練習問題11となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4359</post-id>	</item>
		<item>
		<title>【マクロVBA】表示形式を変更する方法！Format関数で文字・数値・日付の調整する</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a1%a8%e7%a4%ba%e5%bd%a2%e5%bc%8f%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%ef%bc%81format%e9%96%a2%e6%95%b0%e3%81%a7%e6%96%87/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e8%25a1%25a8%25e7%25a4%25ba%25e5%25bd%25a2%25e5%25bc%258f%25e3%2582%2592%25e5%25a4%2589%25e6%259b%25b4%25e3%2581%2599%25e3%2582%258b%25e6%2596%25b9%25e6%25b3%2595%25ef%25bc%2581format%25e9%2596%25a2%25e6%2595%25b0%25e3%2581%25a7%25e6%2596%2587</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a1%a8%e7%a4%ba%e5%bd%a2%e5%bc%8f%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%ef%bc%81format%e9%96%a2%e6%95%b0%e3%81%a7%e6%96%87/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Sun, 02 Jul 2023 13:50:15 +0000</pubDate>
				<category><![CDATA[セルに入力]]></category>
		<category><![CDATA[日時操作]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[format関数]]></category>
		<category><![CDATA[表示変換]]></category>
		<category><![CDATA[数値]]></category>
		<category><![CDATA[日時]]></category>
		<category><![CDATA[小数点]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4320</guid>

					<description><![CDATA[VBAを使ってExcelで作業を行う際、セルの表示形式を変更する必要があることがあります。例えば、数値や日付を特定の形式に整形したり、小数点以下の桁数を制御したりすることができます。 今回は、「Format」関数を使用し [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAを使ってExcelで作業を行う際、<span class="marker-under"><strong>セルの表示形式を変更</strong></span>する必要があることがあります。<br />例えば、数値や日付を特定の形式に整形したり、小数点以下の桁数を制御したりすることができます。</p>
<p>今回は、<span class="marker-under"><strong>「Format」関数</strong></span>を使用してセルの表示形式を変更する方法について詳しく解説します。</p>
<p>ぜひ参考にしてみてください。<br />それでは見ていきましょう！</p>
<p>

</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎構文の説明</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎数値の表示形式を変更する方法</a><ol><li><a href="#toc5" tabindex="0">・小数点以下の桁数を指定する</a></li><li><a href="#toc6" tabindex="0">・桁区切りを追加する</a></li><li><a href="#toc7" tabindex="0">・パーセンテージ表示にする</a></li></ol></li><li><a href="#toc8" tabindex="0">&#x2b1b;︎日付の表示形式を変更する方法</a><ol><li><a href="#toc9" tabindex="0">・日付の書式を指定する</a></li><li><a href="#toc10" tabindex="0">・日付の表示言語を変更する</a></li></ol></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎文字列の表示形式を変更する方法</a><ol><li><a href="#toc12" tabindex="0">・特定の文字列パターンを指定する</a></li><li><a href="#toc13" tabindex="0">・文字列を大文字または小文字に変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">・ &#8220;型不一致&#8221;エラー</a></li><li><a href="#toc16" tabindex="0">・&#8221;無効な書式コード&#8221;</a></li><li><a href="#toc17" tabindex="0">・&#8221;引数が不足しています&#8221;</a></li><li><a href="#toc18" tabindex="0">・&#8221;式が複雑すぎます&#8221;</a></li></ol></li><li><a href="#toc19" tabindex="0">■練習問題</a></li><li><a href="#toc20" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc21" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんな事ができるようになる！</span></h2>
<p>

</p>
<p>この関数を使用することで、数値や日付、文字列などのデータを特定の形式に整形することができます。</p>
<p><img decoding="async" class="alignnone wp-image-4338 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-14.png" width="957" height="205" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-14.png 1290w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-14-300x64.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-14-1024x219.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-14-768x164.png 768w" sizes="(max-width: 957px) 100vw, 957px" /></p>
<p>





</p>
<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>
<p>

</p>
<pre class="wp-block-verse">Sub format変換()<br />　Dim Befor<br />　　Befor = <strong><span class="bold red" style="color: #ff0000;">変更する数値・文字</span></strong><br />　　<strong><span style="color: #0000ff;">入力セル・変数</span></strong> = Format(Befor, <strong><span style="color: #339966;">書式コード</span></strong>)<br />End Sub<br /><br /></pre>
<p>

</p>
<p><strong><span style="color: #339966;"><span class="bold red" style="color: #ff0000;">変更する数値・文字・<span style="color: #0000ff;">入力セル・変数・</span></span>書式コード</span></strong><span style="color: #000000;">はカスタムして使用してください。</span></p>
<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎構文の説明</span></h2>
<p>

</p>
<p>まず、使用する関数についてです「<strong><span class="marker-under">Format関数</span></strong>」になります。<br />関数仕様としては下記の通りです。</p>
<p>

</p>
<div class="information-box common-icon-box"><strong><span style="color: #0000ff;">格納する変数・セル</span> =  Format(<span class="bold red" style="color: #ff0000;">変更する数値・文字</span>, <span style="color: #339966;">書式コード</span>)</strong></div>
<div>「<span style="color: #ff0000;"><strong>変更する数値・文字</strong></span>」には変換したいデータを指定し、「<span style="color: #339966;"><strong>表示形式</strong></span>」には変換後の表示形式を指定します。</div>
<p>

</p>
<figure class="wp-block-table">
<table>
<thead>
<tr>
<th>表示形式</th>
<th><span style="color: #339966;"><strong>書式コード</strong></span></th>
</tr>
</thead>
<tbody>
<tr>
<td>通常の数値</td>
<td>&#8220;0&#8221;</td>
</tr>
<tr>
<td>小数点以下2桁</td>
<td>&#8220;0.00&#8221;</td>
</tr>
<tr>
<td>桁区切りあり</td>
<td>&#8220;#,##0&#8221;</td>
</tr>
<tr>
<td>貨幣形式 (円)</td>
<td>&#8220;\¥#,##0&#8221;</td>
</tr>
<tr>
<td>貨幣形式 (ドル)</td>
<td>&#8220;$#,##0.00&#8221;</td>
</tr>
<tr>
<td>パーセンテージ</td>
<td>&#8220;0.00%&#8221;</td>
</tr>
<tr>
<td>指数表示</td>
<td>&#8220;0.00E+00&#8221;</td>
</tr>
<tr>
<td>通常の日付</td>
<td>&#8220;yyyy/mm/dd&#8221;</td>
</tr>
<tr>
<td>日付 (年・月・日)</td>
<td>&#8220;[$-411]yyyy&#8221; &amp; &#8220;年&#8221; &amp; &#8220;mm&#8221; &amp; &#8220;月&#8221; &amp; &#8220;dd&#8221; &amp; &#8220;日&#8221;</td>
</tr>
<tr>
<td>英語表記の日付</td>
<td>&#8220;[$-409]yyyy/mm/dd&#8221;</td>
</tr>
<tr>
<td>時刻</td>
<td>&#8220;hh:mm:ss&#8221;</td>
</tr>
<tr>
<td>時刻 (AM/PM)</td>
<td>&#8220;hh:mm AM/PM&#8221;</td>
</tr>
<tr>
<td>時刻 (24時間表示)</td>
<td>&#8220;[$-411]hh:mm&#8221;</td>
</tr>
<tr>
<td>長い日付と時刻</td>
<td>&#8220;yyyy/mm/dd hh:mm:ss&#8221;</td>
</tr>
<tr>
<td>特定の文字列パターンを追加</td>
<td>&#8220;&#8221;&#8221;ABC&#8221;&#8221; &amp; @&#8221;</td>
</tr>
<tr>
<td>大文字に変換</td>
<td>&#8220;&gt;&#8221;</td>
</tr>
<tr>
<td>小文字に変換</td>
<td>&#8220;&lt;&#8220;</td>
</tr>
</tbody>
</table>
</figure>
<p>

</p>
<div> </div>
<div>では実際に使用した例を紹介したいと思います。</div>
<p>

</p>
<p>

</p>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎数値の表示形式を変更する方法</span></h2>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc5">・小数点以下の桁数を指定する</span></h3>
<p>まず、小数点以下の桁数を指定してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="550" height="266" class="alignnone wp-image-4324 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-1.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-1.png 550w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-1-300x145.png 300w" sizes="(max-width: 550px) 100vw, 550px" /></p>
<p>今回は「123.456」という数値の値を<span class="marker-under"><strong>小数点２桁に変更</strong></span>したいと思います。</p>
<p>

</p>
<div>
<p>数値を小数点以下2桁まで表示したい場合は、<span style="color: #339966;"><strong>「0.00」</strong></span>という表示形式を使用します。以下は具体的なコード例です。</p>
</div>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br />　Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />　　<strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />　　<strong><span style="color: #0000ff;">Cells(5, 3)</span></strong>= Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <strong><span style="color: #339966;">&#8220;0.00&#8221;</span></strong>)<br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="570" height="267" class="alignnone wp-image-4326 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-2.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-2.png 570w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-2-300x141.png 300w" sizes="(max-width: 570px) 100vw, 570px" /></p>
<p>上記のコードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には「123.46」という値が表示されます。</p>
<h3><span id="toc6">・桁区切りを追加する</span></h3>
<p>次に<span class="marker-under"><strong>数値の桁区切りを指定</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="359" height="164" class="alignnone wp-image-4327 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-3.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-3.png 359w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-3-300x137.png 300w" sizes="(max-width: 359px) 100vw, 359px" /></p>
<p>今回は３桁ごとに「,」を追加したいと思います。</p>
<p>桁区切り（カンマ）を追加したい場合は、「<span style="color: #339966;"><strong>&#8220;#,##0&#8221;</strong></span>」という表示形式を使用します。以下は具体的なコード例です。</p>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br />　Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />　　<strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />　　<strong><span style="color: #0000ff;">Cells(5, 3)</span></strong> = Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <span style="color: #339966;"><strong>&#8220;#,##0&#8221;</strong></span>)<br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
</div>
</div>
<p><img decoding="async" width="362" height="164" class="alignnone wp-image-4328 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-4.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-4.png 362w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-4-300x136.png 300w" sizes="(max-width: 362px) 100vw, 362px" /></p>
<div>
<p>上記のコードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には「1,234,567」という値が表示されます。</p>
<h3><span id="toc7">・パーセンテージ表示にする</span></h3>
<p>つぎに<span class="marker-under"><strong>パーセンテージ表示を指定</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="350" height="172" class="alignnone wp-image-4329 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-5.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-5.png 350w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-5-300x147.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<p>数値をパーセンテージ表示にする場合は、「<strong><span style="color: #339966;">&#8220;0.00%&#8221;</span></strong>」という表示形式を使用します。以下は具体的なコード例です。</p>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br />　Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />　　<strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />　　<strong><span style="color: #0000ff;">Cells(5, 3)</span></strong> = Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <strong><span style="color: #339966;">&#8220;0.00%&#8221;)</span></strong><br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="349" height="176" class="alignnone wp-image-4330 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-6.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-6.png 349w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-6-300x151.png 300w" sizes="(max-width: 349px) 100vw, 349px" /></p>
</div>
<p>上記のコードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には「75.00%」という値が表示されます。</p>
</div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc8">&#x2b1b;︎日付の表示形式を変更する方法</span></h2>
<p>日付の表示形式を変更する際にも、Format関数を利用することができます。</p>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc9">・日付の書式を指定する</span></h3>
<p>

</p>
<p>まず、<span class="marker-under"><strong>日付の書式を指定</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="347" height="169" class="alignnone wp-image-4332 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-8.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-8.png 347w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-8-300x146.png 300w" sizes="(max-width: 347px) 100vw, 347px" /></p>
<p>日付の表示形式を指定する際は、書式コードを使用します。<br />例えば、「<strong><span style="color: #339966;">&#8220;yyyy/mm/dd&#8221;</span></strong>」という表示形式を使用すると、年月日の順で表示されます。</p>
<p>以下は具体的なコード例です。</p>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br />　Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />　　<strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />　　<strong><span style="color: #0000ff;">Cells(5, 3)</span></strong>= Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <span style="color: #339966;"><strong>&#8220;yyyy/mm/dd&#8221;</strong></span>)<br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="359" height="165" class="alignnone wp-image-4331 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-7.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-7.png 359w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-7-300x138.png 300w" sizes="(max-width: 359px) 100vw, 359px" /></p>
</div>
<p>上記のコードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には現在の日付が「2023/07/3」という形式で表示されます。</p>
<h3><span id="toc10">・日付の表示言語を変更する</span></h3>
<p>次に、<span class="marker-under"><strong>日付の表示言語を変更</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="347" height="169" id="thepasted-9" class="alignnone wp-image-4332 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-8.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-8.png 347w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-8-300x146.png 300w" sizes="(max-width: 347px) 100vw, 347px" /></p>
<p>通常であれば下図のように「日本」になっています。</p>
<p><img decoding="async" class="alignnone wp-image-4339 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-15.png" width="414" height="319" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-15.png 604w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-15-300x231.png 300w" sizes="(max-width: 414px) 100vw, 414px" /></p>
<p>日付の表示言語を変更する場合は、書式コードの前に「[$-言語コード]」を追加します。<br />例えば、英語表記の場合は「<span style="color: #339966;"><strong>[$-409]</strong></span>」を使用します。<br /><br />以下は具体的なコード例です。</p>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br />　Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />　　<strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />　　<strong><span style="color: #0000ff;">Cells(5, 3)</span></strong> = Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <span style="color: #339966;"><strong>&#8220;[$-409]yyyy/mm/dd&#8221;</strong></span>)<br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="358" height="163" class="alignnone wp-image-4333 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-9.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-9.png 358w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-9-300x137.png 300w" sizes="(max-width: 358px) 100vw, 358px" /></p>
</div>
<p>上記のコードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には現在の日付が英語表記の「2023/07/3」という形式で表示されます。</p>
<h2><span id="toc11">&#x2b1b;︎文字列の表示形式を変更する方法</span></h2>
<p>文字列の表示形式を変更する際にも、Format関数を使用することができます。</p>
<h3><span id="toc12">・特定の文字列パターンを指定する</span></h3>
<p>まず、<span class="marker-under"><strong>特定の文字列パターンを指定</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="346" height="168" class="alignnone wp-image-4335 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-11.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-11.png 346w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-11-300x146.png 300w" sizes="(max-width: 346px) 100vw, 346px" /></p>
<p>今回は<strong>「VBA」という文字に「ABC」という文字を追加</strong>してみましょう。</p>
<p>例えば、文字列の先頭に「ABC」を追加する場合は、「<strong><span style="color: #339966;">&#8220;ABC&#8221; &amp; 対象の文字列</span></strong>」という形式で指定します。以下は具体的なコード例です。</p>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br />　Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />　　<strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />　　<strong><span style="color: #0000ff;">Cells(5, 3)</span></strong> = Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <span style="color: #339966;"><strong>&#8220;&#8221;&#8221;ABC&#8221;&#8221; &amp;@&#8221;</strong></span>)<br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="349" height="169" class="alignnone wp-image-4334 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-10.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-10.png 349w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-10-300x145.png 300w" sizes="(max-width: 349px) 100vw, 349px" /></p>
</div>
<p>上記のコードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には「ABC VBA」という文字列が表示されます。</p>
<h3><span id="toc13">・文字列を大文字または小文字に変換する</span></h3>
<p>次に、<span class="marker-under"><strong>文字列を大文字または小文字に変換</strong></span>してみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" width="349" height="167" class="alignnone wp-image-4337 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-13.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-13.png 349w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-13-300x144.png 300w" sizes="(max-width: 349px) 100vw, 349px" /></p>
<p>文字列を大文字に変換する場合は、「<strong><span style="color: #339966;">&#8220;&gt;&#8221;</span></strong>」関数を使用します。<br />小文字に変換する場合は、「<strong><span style="color: #339966;">&#8220;＜&#8221;</span></strong>」関数を使用します。</p>
<p>以下は具体的なコード例です。</p>
<div class="blank-box bb-yellow">
<p>Sub format変換()<br /> Dim <strong><span style="color: #ff0000;">Befor</span></strong><br />  <strong><span style="color: #ff0000;">Befor</span></strong>= Cells(2, 3)<br />  <strong><span style="color: #0000ff;">Cells(5, 3)</span></strong> = Format(<strong><span style="color: #ff0000;">Befor</span></strong>, <strong><span style="color: #339966;">&#8220;&gt;&#8221;</span></strong>)<br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" width="354" height="175" class="alignnone wp-image-4336 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-12.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-12.png 354w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-12-300x148.png 300w" sizes="(max-width: 354px) 100vw, 354px" /></p>
</div>
<p>ードを実行すると、セル&#8221;<strong><span style="color: #3366ff;">C5</span></strong>&#8220;には「VBA」という文字列が表示されます。</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc14">&#x2b1b;︎よくあるエラーと対処法</span></h2>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc15">・ &#8220;型不一致&#8221;エラー</span></h3>
<p>

</p>
<p> 対策: Format関数の引数の型が正しく一致していることを確認してください。<br />例えば、数値型の引数を指定する場合は、文字列や日付型ではなく数値型のデータを使用してください。</p>
<h3 class="wp-block-heading"><span id="toc16">・&#8221;無効な書式コード&#8221;</span></h3>
<p>

</p>
<p> 対策: 使用する書式コードが正しい形式であることを確認してください。<br />書式コードには特定のルールがあります。</p>
<p>間違った形式の書式コードを使用している場合は、正しい書式コードを確認し、修正してください。</p>
<h3 class="wp-block-heading"><span id="toc17">・&#8221;引数が不足しています&#8221;</span></h3>
<p>

</p>
<p>対策: Format関数に必要な引数がすべて指定されていることを確認してください。<br />必要な引数が不足している場合は、引数を追加してください。</p>
<h3 class="wp-block-heading"><span id="toc18">・&#8221;式が複雑すぎます&#8221;</span></h3>
<p>

</p>
<p>対策: Format関数の引数が複雑すぎる場合に発生します。<br />このエラーを回避するためには、引数を単純化する必要があります。</p>
<p>長い式や複数の関数の組み合わせを使用する場合は、一時変数を使用して式を分割することを検討してください。</p>
<h2><span id="toc19">■練習問題</span></h2>
<p>練習問題も別の記事でまとめているので是非参考にしてみてください！</p>
<div class="alert-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c3%e3%80%91%e3%82%bb%e3%83%ab%e7%95%aa%e5%9c%b0%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ab%e7%8f%be%e5%9c%a8%e3%81%ae%e6%97%a5/">【マクロVBA練習問題3】セル番地・変数に現在の日付を表示・格納する ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc20">&#x2b1b;︎公式の説明</span></h2>
<p>

</p>
<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br />マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>
<p>

</p>
<div class="question-box common-icon-box"><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications">Format 関数 (Visual Basic for Applications) | Microsoft Learn</a></div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc21">&#x2b1b;︎まとめ</span></h2>
<p>

</p>
<p>いかがだったでしょうか？</p>
<p>今回は、マクロVBAにおける表示の変更について「Format」関数を中心に解説しました。</p>
<p>数値や日付、文字列などのデータを特定の形式に整形する際に、この関数を活用することができます。</p>
<p>Format関数の使い方や具体的なコード例を通じて、セルの表示形式を柔軟に変更する方法を学びました。</p>
<p>&nbsp;</p>
<p>

</p>
<p>ぜひ活用してみてください。</p>
<p>

</p>
<p>それでは次回の記事でお会いしましょう。</p>
<p></p>]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a1%a8%e7%a4%ba%e5%bd%a2%e5%bc%8f%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%ef%bc%81format%e9%96%a2%e6%95%b0%e3%81%a7%e6%96%87/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4320</post-id>	</item>
		<item>
		<title>【マクロVBA】右端側・後ろから対象の文字が何文字目に含まれているか確認する！InStrRev</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%8f%b3%e7%ab%af%e5%81%b4%e3%83%bb%e5%be%8c%e3%82%8d%e3%81%8b%e3%82%89%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e6%96%87/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e5%258f%25b3%25e7%25ab%25af%25e5%2581%25b4%25e3%2583%25bb%25e5%25be%258c%25e3%2582%258d%25e3%2581%258b%25e3%2582%2589%25e5%25af%25be%25e8%25b1%25a1%25e3%2581%25ae%25e6%2596%2587%25e5%25ad%2597%25e3%2581%258c%25e4%25bd%2595%25e6%2596%2587</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%8f%b3%e7%ab%af%e5%81%b4%e3%83%bb%e5%be%8c%e3%82%8d%e3%81%8b%e3%82%89%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e6%96%87/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 22 Mar 2023 14:07:56 +0000</pubDate>
				<category><![CDATA[検索・置換]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[文字数]]></category>
		<category><![CDATA[後ろ]]></category>
		<category><![CDATA[InStrRev関数]]></category>
		<category><![CDATA[右端]]></category>
		<category><![CDATA[検索]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4061</guid>

					<description><![CDATA[文字を検索する方法、または何文字目に含まれているか確認する関数として「InStr関数」があります。 こちらは、対象のセル・変数などから文字を読み取り対象の文字・数値を検索する関数となっています。 【マクロVBA】対象のセ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>文字を検索する方法、または何文字目に含まれているか確認する関数として<br>「InStr関数」があります。</p>



<p>こちらは、対象のセル・変数などから文字を読み取り<br>対象の文字・数値を検索する関数となっています。</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ab%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%96%87%e5%ad%97%e3%83%bb/">【マクロVBA】対象のセル・変数に指定した文字・数値が含まれているかInStrで確認する ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>しかし、こちらの関数は、頭文字からの検索であり<br>場合によっては、<strong><span class="marker-under">右側・後側から検索したい場面</span></strong>がありますよね。</p>



<p>そんな時に使用できるのが「<strong><span class="marker-under">InStrRev関数</span></strong>」となっています。</p>



<p><strong><span class="marker-under-blue">InStrRev関数を使用すれば、簡単に右側から文字を検索できる</span></strong>ので、ぜひ参考にしてみてください。<br>それでは見ていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎構文の説明</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎右側・後ろから指定した文字が何文字目にあるか検索する</a><ol><li><a href="#toc5" tabindex="0">・セルから文字を検索する</a></li><li><a href="#toc6" tabindex="0">・変数から検索する</a></li></ol></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎応用編</a><ol><li><a href="#toc8" tabindex="0">・右端から何文字目に対象の文字があるか検索する</a></li></ol></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc10" tabindex="0">・文字が大文字・小文字で異なる</a></li><li><a href="#toc11" tabindex="0">・文字が全角・半角で異なる</a></li></ol></li><li><a href="#toc12" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc13" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんな事ができるようになる！</span></h2>



<p>・指定した文字が、右側から何文字目に含まれているか確認できるようになる</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-35.png" alt="" class="wp-image-4063" width="485" height="133" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-35.png 595w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-35-300x82.png 300w" sizes="(max-width: 485px) 100vw, 485px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-36.png" alt="" class="wp-image-4064" width="356" height="130" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-36.png 509w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-36-300x110.png 300w" sizes="(max-width: 356px) 100vw, 356px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>



<pre class="wp-block-verse">Sub 対象の文字が右側から何文字目か調査()
Dim N As Long
N = InStrRev(<span class="bold-red">対象のセル・変数</span>, "<span class="bold-blue">検索したい文字・数値</span>")
MsgBox "対象の文字は右側から検索すると" &amp; N &amp; "文字目にあります。"
End Sub</pre>



<p><span class="bold-red">対象のセル・変数</span>と<span class="bold-blue">検索したい文字・数値</span>をカスタムして使用してください。</p>



<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎構文の説明</span></h2>



<p>まず、使用する関数についてですが「<strong><span class="marker-under">InStrRev関数</span></strong>」になります。<br>関数仕様としては下記の通りです。</p>



<p><span class="fz-20px"><strong>InStrRev(<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索開始位置]</span>,<span class="bold-green">[検索の種類]</span>)</strong></span></p>



<p>「<span class="bold-green">[ ]</span>」は省略可能となっています。</p>



<p>　</p>



<p><span class="bold-green">[検索開始位置]</span>では検索を開始する位置を指定することが出来ます。<br>たとえば「<span class="bold-green">3</span>」を指定すると先頭から<span class="bold-green">3文字目を対象</span>として<br><strong><span class="marker-under">３文字目から前に検索</span></strong>します。</p>



<p>　</p>



<p><strong><span class="bold-green">[検索の種類]</span></strong>ではバイナリモードかテキストモードを<br>選択することができます。</p>



<p>バイナリモードの場合は<span class="bold-green">vbBinaryCompare</span><br>テキストモードの場合は<span class="bold-green">vbTextCompare</span>を入力します。</p>



<p>ただし、省略した場合はバイナリモードになるので<br><strong><span class="marker-under-red">バイナリモードの場合は未入力</span></strong>でかまいません。</p>



<p>各モードの検索方法は下記の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>モード</th><th>入力文字</th><th>機能</th></tr></thead><tbody><tr><td>バイナリ</td><td>vbBinaryCompare</td><td>全角・半角の区別、大文字・小文字の区別をする</td></tr><tr><td>テキスト</td><td>vbTextCompare</td><td>全角・半角の区別、大文字・小文字の区別をしない</td></tr></tbody></table></figure>



<p></p>



<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎右側・後ろから指定した文字が何文字目にあるか検索する</span></h2>



<h3 class="wp-block-heading"><span id="toc5">・セルから文字を検索する</span></h3>



<p>では、実際に<strong><span class="marker-under">セルから文字を読み取って右側から対象の文字を検索</span></strong>したいと思います。</p>



<p>下の図をご覧ください。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="369" height="136" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-34.png" alt="" class="wp-image-4062" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-34.png 369w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-34-300x111.png 300w" sizes="(max-width: 369px) 100vw, 369px" /></figure>



<p>セル番地「<span class="bold-red">B3</span>」に文字が入力されてあります。<br>今回は、その文字から「<span class="bold-red">C</span>」を検索して<br><strong><span class="marker-under">右側から何文字目にあるか表示</span></strong>したいと思います。</p>



<p>では、構文に当てはめていきましょう。<br><span class="fz-20px"><strong>InStrRev(<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索開始位置]</span>,<span class="bold-green">[検索の種類]</span>)</strong></span></p>



<p>検索対象はセルの文字列を参照するので「<span class="bold-red">B3</span>」です。<br>検索する文字は「<span class="bold-blue">&#8220;C&#8221;</span>」なので、そのまま入力します。<br>ここで<strong><span class="marker-under-blue">「&#8221;」で囲わないと変数扱いになるので注意</span></strong>が必要です。</p>



<p>当てはめるとこのようになります。<br><strong><span class="fz-20px">InStrRev(<span class="bold-red">Range(&#8220;B3&#8221;)</span>, <span class="bold-blue">&#8220;C&#8221;</span>)</span></strong></p>



<p>では見本のソースコードをご覧ください。</p>



<pre class="wp-block-verse">Sub 対象の文字が右側から何文字目か調査()
Dim N As Long
<span class="bold-green">N</span> = InStrRev(<span class="bold-red">Range("B3")</span>, <span class="bold-blue">"C"</span>)
MsgBox "対象の文字は右側から検索すると" &amp; <span class="bold-green">N </span>&amp; "文字目にあります。"
End Sub</pre>



<p>最後に検索した結果をメッセージボックスで表示させます。</p>



<p>では実行してみましょう。<br>結果はこのようになります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-35.png" alt="" class="wp-image-4063" width="529" height="145" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-35.png 595w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-35-300x82.png 300w" sizes="(max-width: 529px) 100vw, 529px" /></figure>



<p><strong><span class="marker-under">「対象の文字は右側から検索すると<span class="bold-red">6文字目</span>にあります」</span></strong>と言うメッセージが表示されました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-36.png" alt="" class="wp-image-4064" width="367" height="134" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-36.png 509w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-36-300x110.png 300w" sizes="(max-width: 367px) 100vw, 367px" /></figure>



<p><br><strong><span class="marker-under">「C」は右側から検索すると<span class="bold-red">6文字目</span></span></strong>にあたるので<br>うまく機能していますね。</p>



<p>参考までに、<strong><span class="marker-under-red">通常のInStr関数で表示した結果</span></strong>を見てみましょう。</p>



<pre class="wp-block-verse">Sub 対象の文字が<span class="bold-red">左側</span>から何文字目か調査()
Dim N As Long
N = <span class="bold-red">InStr</span>(Range("B3"), "C")
MsgBox "対象の文字は<span class="bold-red">左側</span>から検索すると" &amp; N &amp; "文字目にあります。"
End Sub</pre>



<p>結果はこのようになります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-37.png" alt="" class="wp-image-4065" width="468" height="135" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-37.png 628w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-37-300x86.png 300w" sizes="(max-width: 468px) 100vw, 468px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-38.png" alt="" class="wp-image-4066" width="348" height="132" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-38.png 509w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-38-300x114.png 300w" sizes="(max-width: 348px) 100vw, 348px" /></figure>



<p>先ほどとは異なり、<strong><span class="marker-under-red">左から検索するので「<span class="bold-red">２文字目</span>」という結果</span></strong>となりました。</p>



<h3 class="wp-block-heading"><span id="toc6">・変数から検索する</span></h3>



<p>先ほどはセルから文字を読み取り、検索を行いましたが、<strong><span class="marker-under"><span class="bold-green">変数</span>から読み取ることも可能</span></strong>です。</p>



<p>では、例を紹介したいと思います。</p>



<p>見本のソースコードをご覧ください。</p>



<pre class="wp-block-verse">Sub 対象の文字が右側から何文字目か調査()
Dim N As Long, <span class="bold-green">Word</span>
<span class="bold-green">Word</span> = "あいうえおあいうえお"
N = InStrRev(<span class="bold-green">Word</span>, <span class="bold-blue">"う"</span>)
MsgBox "対象の文字は右側から検索すると" &amp; N &amp; "文字目にあります。"
End Sub</pre>



<p>内容として、変数「<span class="bold-green">Word</span>」に「<span class="bold-green">あいうえおあいうえお</span>」と言う文字列を格納しています。<br>こちらを<strong><span class="marker-under">InStrRev関数を使用することで右側から文字を検索</span></strong>しています。</p>



<p>今回は、見本で「<span class="bold-blue">う</span>」を検索しましょう。</p>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-39.png" alt="" class="wp-image-4067" width="277" height="133" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-39.png 348w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-39-300x144.png 300w" sizes="(max-width: 277px) 100vw, 277px" /></figure>



<p>「<span class="bold-green">あいうえおあいうえお</span>」を右から「<span class="bold-blue">う</span>」を検索すると<br><strong><span class="bold-red">８文字目</span></strong>にあるので、狙い通り機能していることがわかります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-40.png" alt="" class="wp-image-4068" width="453" height="127" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-40.png 606w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-40-300x84.png 300w" sizes="(max-width: 453px) 100vw, 453px" /></figure>



<p>さらに、比較用として<span class="bold-red">InStr関数</span>でも表示してみたいと思います。</p>



<pre class="wp-block-verse">Sub 対象の文字が<span class="bold-red">左側</span>から何文字目か調査()
Dim N As Long, Word
Word = "あいうえおあいうえお"
N = <span class="bold-red">InStr</span>(Word, "う")
MsgBox "対象の文字は<span class="bold-red">左側</span>から検索すると" &amp; N &amp; "文字目にあります。"
End Sub</pre>



<p>結果はこのようになりました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-41.png" alt="" class="wp-image-4069" width="344" height="168" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-41.png 411w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-41-300x147.png 300w" sizes="(max-width: 344px) 100vw, 344px" /></figure>



<p>文字列「<span class="bold-green">あいうえおあいうえお</span>」に含まれる「<span class="bold-blue">う</span>」は左から見ると<br>「8」文字目に含まれていますが、右から見ると<span class="bold-red">「3」文字目</span>に含まれていることから、「<span class="bold-red">3</span>」を出力しています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="622" height="188" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-42.png" alt="" class="wp-image-4070" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-42.png 622w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-42-300x91.png 300w" sizes="(max-width: 622px) 100vw, 622px" /></figure>



<h2 class="wp-block-heading"><span id="toc7">&#x2b1b;︎応用編</span></h2>



<h3 class="wp-block-heading"><span id="toc8">・右端から何文字目に対象の文字があるか検索する</span></h3>



<p>では応用編です、先ほどは右側から検索し、左側から何文字目に対象の文字があるか検索していましたが<br>Len関数を使用することにより、<strong><span class="marker-under">右側から何文字目にあるか求める</span></strong>ことができます。</p>



<p>ではメカニズムについて紹介したいと思います。<br>下記のソースコードをご覧ください。</p>



<pre class="wp-block-verse">Sub 対象の文字が右側から何文字目か調査()
Dim N As Long, Wordcount
<span class="bold-blue">Wordcount</span> =<span class="bold-red"> </span>Len(Range("B3")) '文字の数を算出
<span class="bold-red">N </span>=<span class="bold-blue"> Wordcount</span> - <span class="bold-green">InStrRev(Range("B3"), "F")</span> + 1 '右から何文字目か計算
MsgBox "対象の文字は右側から検索すると" &amp; <span class="bold-red">N</span> &amp; "文字目にあります。"
End Sub</pre>



<p>まず<strong><span class="marker-under-blue">Len関数でセル番地B3の文字数を算出</span></strong>します。<br>その後に<strong><span class="marker-under">InStrRev関数を使用することで、右側から対象の文字を検索</span></strong>しています。</p>



<p>そこからLen関数で求めた<strong><span class="marker-under-red">文字数</span></strong>からInStrRev関数で<br>求めた<strong><span class="marker-under-red">文字の位置を引くことによって右端から何文字目にあるか求める</span></strong>ことができます。<br>ポイントとして結果に「+1」することで正確な計算結果となります。</p>



<p>では、見本を見ていきます。<br>セル番地B3には、「BCDEFCD」と言う文字列が含まれています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="369" height="136" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-43.png" alt="" class="wp-image-4071" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-43.png 369w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-43-300x111.png 300w" sizes="(max-width: 369px) 100vw, 369px" /></figure>



<p>こちらを「<span class="bold-green">F</span>」で検索して、右端から何文字目にあるか求めたいと思います。</p>



<p>それでは実行しましょう。<br>結果はこのようになります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-44.png" alt="" class="wp-image-4072" width="330" height="160" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-44.png 369w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-44-300x146.png 300w" sizes="(max-width: 330px) 100vw, 330px" /></figure>



<p><strong><span class="marker-under">「F」は、右端から「3」文字目</span></strong>にあたるので<br>うまく機能していますね。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-46.png" alt="" class="wp-image-4074" width="493" height="153" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-46.png 754w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-46-300x94.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></figure>



<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc10">・文字が大文字・小文字で異なる</span></h3>



<p>検索の対象または対象となる文字が<br><strong><span class="marker-under">大文字と小文字で異なる場合はうまく検索できません</span></strong>。</p>



<p>先ほどの見本で小文字の「<span class="bold-blue">ｄ</span>」を検索してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="350" height="122" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-47.png" alt="" class="wp-image-4075" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-47.png 350w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-47-300x105.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></figure>



<pre class="wp-block-verse">Sub 対象の文字が右側から数えて何文字目か調査()
Dim N As Long
N = InStrRev(<span class="bold-red">Range("B3")</span>, "<span class="bold-blue">d</span>")
MsgBox "対象の文字は右側から検索すると" &amp; N &amp; "文字目にあります。"
End Sub</pre>



<p>結果はこのようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="840" height="230" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-48.png" alt="" class="wp-image-4076" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-48.png 840w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-48-300x82.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-48-768x210.png 768w" sizes="(max-width: 840px) 100vw, 840px" /></figure>



<p><strong><span class="marker-under">検索文字が小文字のために「D」を検出できていません</span></strong>。</p>



<p>では、再度構文を見てみましょう。<br><span class="fz-20px"><strong>InStrRev(<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索開始位置]</span>,<span class="bold-green">[検索の種類]</span>)</strong></span></p>



<p>冒頭で<span class="bold-green">検索の種類</span>は「バイナリモード」と「テキストモード」があると説明しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>モード</th><th>入力文字</th><th>機能</th></tr></thead><tbody><tr><td>バイナリ</td><td><span class="bold-green">vbBinaryCompare</span></td><td>全角・半角の区別、大文字・小文字の区別をする</td></tr><tr><td>テキスト</td><td><span class="bold-green">vbTextCompare</span></td><td>全角・半角の区別、大文字・小文字の区別をしない</td></tr></tbody></table></figure>



<p>省略していた場合は「バイナリモード」となり、大文字・小文字を区別します。</p>



<p>つまり、大文字と小文字を区別しないテキストモードに変更すればいいのです。</p>



<p>なので検索の方法に「<span class="bold-green">vbTextCompare</span>」を追加すれば大文字と小文字を区別しなくなります。</p>



<pre class="wp-block-verse">N = InStrRev(Range("B3"), "d", , <strong><span class="bold-green">vbTextCompare</span></strong>)</pre>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="800" height="231" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-49.png" alt="" class="wp-image-4077" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-49.png 800w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-49-300x87.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-49-768x222.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p><strong><span class="marker-under">小文字の「ｄ」で検索したにもかかわらず大文字の「Ｄ」をカウント</span></strong>してくれました。</p>



<h3 class="wp-block-heading"><span id="toc11">・文字が全角・半角で異なる</span></h3>



<p>こちらも先程のエラーと同様です。<br>検索方法を<strong><span class="marker-under-blue">テキストモードに変える</span></strong>ことにより、全角半角<br>どちらでも検索できるようになります。</p>



<h2 class="wp-block-heading"><span id="toc12">&#x2b1b;︎公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br>マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>



<p><a href="https://support.microsoft.com/ja-jp/office/instrrev-%E9%96%A2%E6%95%B0-73193c1f-8db7-4558-ae91-fae75fe5fd56">InStrRev 関数 &#8211; Microsoft サポート</a></p>



<p></p>



<h2 class="wp-block-heading"><span id="toc13">&#x2b1b;︎まとめ</span></h2>



<p>いかがだったでしょうか？<br>InStrRev関数を活用することで、右から文字を検索することができます。<br>さらにLen関数と合わせることによって、右端から何文字目に対象の文字があるか検索することも可能です。</p>



<p>ぜひ活用してみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%8f%b3%e7%ab%af%e5%81%b4%e3%83%bb%e5%be%8c%e3%82%8d%e3%81%8b%e3%82%89%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e6%96%87/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4061</post-id>	</item>
		<item>
		<title>【マクロVBA】対象の文字が何個・何文字あるかInStr関数で求める！変数・セルに対応</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e5%80%8b%e3%83%bb%e4%bd%95%e6%96%87%e5%ad%97%e3%81%82%e3%82%8b%e3%81%8binstr%e9%96%a2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e5%25af%25be%25e8%25b1%25a1%25e3%2581%25ae%25e6%2596%2587%25e5%25ad%2597%25e3%2581%258c%25e4%25bd%2595%25e5%2580%258b%25e3%2583%25bb%25e4%25bd%2595%25e6%2596%2587%25e5%25ad%2597%25e3%2581%2582%25e3%2582%258b%25e3%2581%258binstr%25e9%2596%25a2</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e5%80%8b%e3%83%bb%e4%bd%95%e6%96%87%e5%ad%97%e3%81%82%e3%82%8b%e3%81%8binstr%e9%96%a2/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 22 Mar 2023 13:34:45 +0000</pubDate>
				<category><![CDATA[検索・置換]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[文字]]></category>
		<category><![CDATA[検索]]></category>
		<category><![CDATA[InStr関数]]></category>
		<category><![CDATA[文字数]]></category>
		<category><![CDATA[COUNT]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4045</guid>

					<description><![CDATA[今回は対象の文字が何文字含まれているか確認する方法について紹介したいと思います。使用する関数はInStr関数となります。 ただし、今回は応用編なので、基礎編については下記の記事をご覧ください。 【マクロVBA】対象のセル [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>今回は<strong><span class="marker-under">対象の文字が何文字含まれているか確認する方法</span></strong>について紹介したいと思います。<br />使用する関数は<strong><span class="marker-under">InStr関数</span></strong>となります。</p>



<p>ただし、今回は応用編なので、基礎編については下記の記事をご覧ください。</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ab%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%96%87%e5%ad%97%e3%83%bb/?preview_id=4025&amp;preview_nonce=34ecd26c32&amp;preview=true&amp;_thumbnail_id=4041">【マクロVBA】対象のセル・変数に指定した文字・数値が含まれているかInStrで確認する ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>対象の文字が何文字目に含まれているか確認できる<br />InStr関数ですが、応用することで<strong><span class="marker-under">何個・何文字含まれているか<br />求めることができます。</span></strong></p>



<p>是非参考にしてみてください。<br />それでは見ていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんなことができるようになる！</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc3" tabindex="0">■構文の説明</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎対象の文字の数を求める</a><ol><li><a href="#toc5" tabindex="0">・例①</a></li><li><a href="#toc6" tabindex="0">・例②</a></li></ol></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc8" tabindex="0">・文字が大文字・小文字で異なる</a></li><li><a href="#toc9" tabindex="0">・文字が全角・半角で異なる</a></li></ol></li><li><a href="#toc10" tabindex="0">■練習問題</a></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc12" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんなことができるようになる！</span></h2>



<p>対象の文字が何文字あるか個数を確認することができる。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="510" height="167" class="wp-image-4047" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-26.png" alt="" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-26.png 510w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-26-300x98.png 300w" sizes="(max-width: 510px) 100vw, 510px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="508" height="107" class="wp-image-4048" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-27.png" alt="" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-27.png 508w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-27-300x63.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>



<pre class="wp-block-verse">Sub 対象の文字が何個含まれているか調査()
Dim Counter, N
　Counter = 0
　N = 1
Do
　N = InStr(N + Counter, <span class="bold-red">検索したいセル・変数</span>, "<span class="bold-blue">確認したい文字</span>")
　　If N = 0 Then
　　　Exit Do
　　Else
　　　Counter = Counter + 1
　　End If
Loop

MsgBox "対象の文字は" &amp; Counter &amp; "個あります。"
End Sub</pre>



<h2 class="wp-block-heading"><span id="toc3">■構文の説明</span></h2>



<p>まず、使用する関数についてですが<strong><span class="marker-under">「InStr関数」</span></strong>になります。<br />関数仕様としては下記の通りです。</p>



<p><span class="fz-18px"><span class="fz-20px"><strong>InStr(<span class="bold-green">[検索開始位置]</span>,<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索の種類]</span>)</strong></span></span></p>



<p>「<span class="bold-green">[ ]</span>」は省略可能となっています。</p>



<p><span class="bold-green">[検索の種類]</span>ではバイナリモードかテキストモードを<br />選択することができます。</p>



<p>バイナリモードの場合は<span class="bold-green">vbBinaryCompare</span><br />テキストモードの場合は<span class="bold-green">vbTextCompare</span>を入力します。</p>



<p>ただし、省略した場合はバイナリモードになるので<br /><strong><span class="marker-under-red">バイナリモードの場合は未入力</span></strong>でかまいません。</p>



<p>各モードの検索方法は下記の通りです。</p>



<figure class="wp-block-table">
<table>
<thead>
<tr>
<th>モード</th>
<th>入力文字</th>
<th>機能</th>
</tr>
</thead>
<tbody>
<tr>
<td>バイナリ</td>
<td>vbBinaryCompare</td>
<td>全角・半角の区別、大文字・小文字の区別をする</td>
</tr>
<tr>
<td>テキスト</td>
<td>vbTextCompare</td>
<td>全角・半角の区別、大文字・小文字の区別をしない</td>
</tr>
</tbody>
</table>
</figure>



<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎対象の文字の数を求める</span></h2>



<h3 class="wp-block-heading"><span id="toc5">・例①</span></h3>



<p>では、実際にInStr関数を使用して<strong><span class="marker-under">対象の文字の個数</span></strong>を求めたいと思います。<br />下記の見本をご覧ください。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="285" height="108" class="wp-image-4046" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-25.png" alt="" /></figure>



<p>今回はセル番地「<span class="bold-red">B3</span>」の文字列に「<span class="bold-blue">A</span>」が何個含まれているか求めたいと思います。<br />では見本のソースコードをご覧ください。</p>



<pre class="wp-block-verse">Sub 対象の文字が何個含まれているか調査()
 Dim Counter, N
 <span class="bold-green">Counter </span>= 0
 N = 1
Do
　N = InStr(N + <span class="bold-green">Counter,</span> <span class="bold-red">Range("B3")</span>, "<span class="bold-blue">A</span>")
　　If N = 0 Then
　　　Exit Do
　　Else
　　　<span class="bold-green">Counter</span> = <span class="bold-green">Counter </span>+ 1
　　End If
Loop

MsgBox "対象の文字は" &amp; <span class="bold-green">Counter </span>&amp; "個あります。"
End Sub</pre>



<p>では、仕組みを紹介したいと思います。</p>



<p>まず、対象を<span class="bold-red">セル番地B3</span>にしています。<br />そこから今回は「<span class="bold-blue">A</span>」が何文字含まれているか確認したいと思います。</p>



<p>検索の開始位置を変数「N」としており<br /><strong><span class="marker-under">初めは1文字目から検索</span></strong>を行います。</p>



<p>&nbsp;</p>



<p>１週目の結果として「A」は１文字目にあるので<br />変数「N」に「1」が格納されます。</p>



<p>そして、文字のカウントの変数「<span class="bold-green">Counter</span>」を+1します。</p>



<p>そして、この処理を<strong><span class="marker-under-blue">ループ処理</span></strong>することにより<br />文字を繰り返し検索するメカニズムになっています。</p>



<p>続いて2週目では、<br />開始位置を「N+<span class="bold-green">Counter</span>」していることにより、<strong><span class="marker-under">先程の検索に引っかかった「１文字目のA」は除外</span></strong>するようになります。</p>



<p>その後は検<strong><span class="marker-under-red">索に文字が引っかかるたびに「<span class="bold-green">Counter</span>」を+1</span></strong>することで</p>



<p>対象の文字が何文字あるかカウントします。</p>



<p>&nbsp;</p>



<p>そして、<strong><span class="marker-under-blue">検索に引っかからなくなった場合,<br />InStr関数の結果は「0」</span></strong>になるわけですから、「If N = 0 Then Exit Do」で<strong><span class="marker-under-blue">ループを抜け出し</span></strong>ます。</p>



<p>以上が説明になります。</p>



<p>では、実際に走らせてみたいと思います。</p>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="510" height="167" class="wp-image-4047" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-26.png" alt="" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-26.png 510w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-26-300x98.png 300w" sizes="(max-width: 510px) 100vw, 510px" /></figure>



<p>「ABCADEAF」には「<span class="bold-blue">A</span>」が<strong><span class="marker-under">3文字</span></strong>含まれているので<br />「対象の文字は<strong><span class="marker-under">３個</span></strong>あります」というメッセージボックスが結果として表示されました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="508" height="107" class="wp-image-4048" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-27.png" alt="" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-27.png 508w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-27-300x63.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<h3 class="wp-block-heading"><span id="toc6">・例②</span></h3>



<p>さらにB3を「BCDEFCD」にして「<span class="bold-blue">CD</span>」を検索しましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="301" height="104" class="wp-image-4049" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-28.png" alt="" /></figure>



<pre class="wp-block-verse">Sub 対象の文字が何個含まれているか調査()
 Dim Counter, N
 <span class="bold-green">Counter </span>= 0
 N = 1
Do
　N = InStr(N + <span class="bold-green">Counter,</span> <span class="bold-red">Range("B3")</span>, "<span class="bold-blue">CD</span>")
　　If N = 0 Then
　　　Exit Do
　　Else
　　　<span class="bold-green">Counter</span> = <span class="bold-green">Counter </span>+ 1
　　End If
Loop

MsgBox "対象の文字は" &amp; <span class="bold-green">Counter </span>&amp; "個あります。"
End Sub</pre>



<p>結果はこのようになりました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" class="wp-image-4050" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-29.png" alt="" width="410" height="163" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-29.png 510w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-29-300x119.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<p>「BCDEFCD」には「<span class="bold-blue">CD</span>」という文字が<strong><span class="marker-under">２つある</span></strong>ので</p>



<p><strong><span class="marker-under">「2」を出力</span></strong>しています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="508" height="107" class="wp-image-4051" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-30.png" alt="" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-30.png 508w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-30-300x63.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<p>文字数が増えてもうまく機能していますね。</p>



<h2 class="wp-block-heading"><span id="toc7">&#x2b1b;︎よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc8">・文字が大文字・小文字で異なる</span></h3>



<p>検索の対象または対象となる文字が<br /><strong><span class="marker-under">大文字と小文字で異なる場合はうまく検索できません</span></strong>。</p>



<p>先ほどの見本で小文字の「<span class="bold-blue">ｄ</span>」を検索してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="350" height="126" class="wp-image-4052" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-31.png" alt="" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-31.png 350w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-31-300x108.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></figure>



<pre class="wp-block-verse">Sub 対象の文字が何個含まれているか調査()
 Dim Counter, N
 <span class="bold-green">Counter </span>= 0
 N = 1
Do
　N = InStr(N + <span class="bold-green">Counter,</span> <span class="bold-red">Range("B3")</span>, "<span class="bold-blue">d</span>")
　　If N = 0 Then
　　　Exit Do
　　Else
　　　<span class="bold-green">Counter</span> = <span class="bold-green">Counter </span>+ 1
　　End If
Loop

MsgBox "対象の文字は" &amp; <span class="bold-green">Counter </span>&amp; "個あります。"
End Sub</pre>



<p>結果はこのようになります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" class="wp-image-4053" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-32.png" alt="" width="520" height="193" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-32.png 566w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-32-300x111.png 300w" sizes="(max-width: 520px) 100vw, 520px" /></figure>



<p><strong><span class="marker-under">検索文字が小文字のために「D」を検出できていません</span></strong>。</p>



<p>では、再度構文を見てみましょう。<br /><strong><strong>InStr(<strong>[検索開始位置]</strong>,<strong>検索対象</strong>,<strong>検索文字・数値</strong>,<strong><span class="bold-green">[検索の種類]</span></strong>)</strong></strong></p>



<p>冒頭で検索の種類は「バイナリモード」と「テキストモード」があると説明しました。</p>



<figure class="wp-block-table">
<table>
<thead>
<tr>
<th>モード</th>
<th>入力文字</th>
<th>機能</th>
</tr>
</thead>
<tbody>
<tr>
<td>バイナリ</td>
<td><span class="bold-green">vbBinaryCompare</span></td>
<td>全角・半角の区別、大文字・小文字の区別をする</td>
</tr>
<tr>
<td>テキスト</td>
<td><span class="bold-green">vbTextCompare</span></td>
<td>全角・半角の区別、大文字・小文字の区別をしない</td>
</tr>
</tbody>
</table>
</figure>



<p><br />省略していた場合は「バイナリモード」となり、大文字・小文字を区別します。</p>



<p>つまり、大文字と小文字を区別しないテキストモードに変更すればいいのです。</p>



<p>なので検索の方法に「<span class="bold-green">vbTextCompare</span>」を追加すれば大文字と小文字を区別しなくなります。</p>



<pre class="wp-block-verse">N = InStr(N + Counter, Range("B3"), "d", <strong><span class="bold-green">vbTextCompare</span></strong>)</pre>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" class="wp-image-4056" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-33.png" alt="" width="530" height="206" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-33.png 587w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-33-300x117.png 300w" sizes="(max-width: 530px) 100vw, 530px" /></figure>



<p><strong><span class="marker-under">小文字の「ｄ」で検索したにもかかわらず大文字の「Ｄ」をカウント</span></strong>してくれました。</p>



<p>&nbsp;</p>



<h3 class="wp-block-heading"><span id="toc9">・文字が全角・半角で異なる</span></h3>



<p>こちらも先程のエラーと同様です。<br />検索方法を<strong><span class="marker-under-blue">テキストモードに変える</span></strong>ことにより、全角半角<br />どちらでも検索できるようになります。</p>
<h2><span id="toc10">■練習問題</span></h2>
<p>練習問題も別の記事でまとめているので是非参考にしてみてください！</p>
<div class="alert-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c17%e3%80%91%e6%8c%87%e5%ae%9a%e3%83%bb%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%83%bb%e6%95%b0%e5%80%a4%e3%82%92/">【マクロVBA練習問題17】指定・対象の文字・数値を含んでいるか、確認しカウントする方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>&nbsp;</p>



<h2 class="wp-block-heading"><span id="toc11">&#x2b1b;︎公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br />マイクロソフト公式の説明については下記のリンクを参照してください☟</p>



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/instr-function">InStr関数（Visual Basic for Applications） | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc12">&#x2b1b;︎まとめ</span></h2>



<p>いかがだったでしょうか。<br />InStr関数を応用することで対象の文字が何文字あるか検出することができます。</p>



<p>是非参考にしてみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e5%80%8b%e3%83%bb%e4%bd%95%e6%96%87%e5%ad%97%e3%81%82%e3%82%8b%e3%81%8binstr%e9%96%a2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4045</post-id>	</item>
		<item>
		<title>【マクロVBA】対象のセル・変数に指定した文字・数値が含まれているかInStrで確認する</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ab%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%96%87%e5%ad%97%e3%83%bb/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e5%25af%25be%25e8%25b1%25a1%25e3%2581%25ae%25e3%2582%25bb%25e3%2583%25ab%25e3%2583%25bb%25e5%25a4%2589%25e6%2595%25b0%25e3%2581%25ab%25e6%258c%2587%25e5%25ae%259a%25e3%2581%2597%25e3%2581%259f%25e6%2596%2587%25e5%25ad%2597%25e3%2583%25bb</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ab%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%96%87%e5%ad%97%e3%83%bb/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 21 Mar 2023 15:01:07 +0000</pubDate>
				<category><![CDATA[検索・置換]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[文字]]></category>
		<category><![CDATA[検索]]></category>
		<category><![CDATA[InStr関数]]></category>
		<category><![CDATA[文字の位置]]></category>
		<category><![CDATA[何文字目]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4025</guid>

					<description><![CDATA[マクロVBAには、FindやLikeなど様々な検索方法がありますが、今回は、対象のセル・変数に指定した文字が含まれているか確認する方法について紹介したいと思います。 さらに、応用すれば何文字目に含まれているかも確認できる [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>マクロVBAには、FindやLikeなど様々な検索方法がありますが、<br>今回は、<strong><span class="marker-under">対象のセル・変数に指定した文字が含まれているか確認する<br>方法</span></strong>について紹介したいと思います。</p>



<p>さらに、応用すれば<strong><span class="marker-under">何文字目に含まれているかも確認</span></strong>できるようになるので<br>とても便利な方法です。</p>



<p>ぜひ参考にしてみてください。<br>それでは見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんなことができるようになる</span></h3>



<p>・指定した文字が、何文字目に含まれているか確認できるようになる<br>・対象のセル・変数の文字・数値を読み取り指定した文字が含まれているか確認できるようになる。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-14.png" alt="" class="wp-image-4027" width="508" height="186" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-14.png 554w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-14-300x110.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<h3 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h3>



<pre class="wp-block-verse">Sub InStr見本コード()
Dim TargetName As String
Dim SearchWord As String

<span class="bold-red">TargetName</span> = <span class="marker-under"><span class="bold-red">Range("B3")</span> </span>'対象セルor変数の指定
<span class="bold-blue">SearchWord</span>=<span class="bold-blue"><span class="marker-under">○<strong>○</strong></span></span>'検索したい文字を入力
'文字列中に「SearchWord」が含まれているかどうかを判定
If InStr(1, <span class="bold-red">TargetName</span>, <span class="bold-blue">SearchWord</span>, vbTextCompare) &gt; 0 Then
'<span class="bold-green">対象文字が含まれていた時の処理</span>
Else
'<span class="bold-green">対象文字が含まれていない時の処理</span>
End If
End Sub</pre>



<p>黄色の蛍光ペンの個所を打ち換えて使用してください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><ol><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんなことができるようになる</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li></ol></li><li><a href="#toc3" tabindex="0">■構文の説明</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎指定した文字が含まれているか確認する</a><ol><li><a href="#toc5" tabindex="0">・対象の文字が何文字目にあるか割り出す</a></li><li><a href="#toc6" tabindex="0">・対象の文字が含まれているか確認する</a></li><li><a href="#toc7" tabindex="0">・変数から検索する</a></li></ol></li><li><a href="#toc8" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc9" tabindex="0">・文字が大文字・小文字で異なる</a></li><li><a href="#toc10" tabindex="0">・文字が全角・半角で異なる</a></li></ol></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc12" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc3">■構文の説明</span></h2>



<p>まず、使用する関数についてですが<strong><span class="marker-under">「InStr関数」</span></strong>になります。<br>関数仕様としては下記の通りです。</p>



<p><span class="fz-18px"><span class="fz-20px"><strong>InStr(<span class="bold-green">[検索開始位置]</span>,<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索の種類]</span>)</strong></span></span></p>



<p>「<span class="bold-green">[ ]</span>」は省略可能となっています。</p>



<p><span class="bold-green">[検索の種類]</span>ではバイナリモードかテキストモードを<br>選択することができます。</p>



<p>バイナリモードの場合は<span class="bold-green">vbBinaryCompare</span><br>テキストモードの場合は<span class="bold-green">vbTextCompare</span>を入力します。</p>



<p>ただし、省略した場合はバイナリモードになるので<br><strong><span class="marker-under-red">バイナリモードの場合は未入力</span></strong>でかまいません。</p>



<p>各モードの検索方法は下記の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>モード</th><th>入力文字</th><th>機能</th></tr></thead><tbody><tr><td>バイナリ</td><td>vbBinaryCompare</td><td>全角・半角の区別、大文字・小文字の区別をする</td></tr><tr><td>テキスト</td><td>vbTextCompare</td><td>全角・半角の区別、大文字・小文字の区別をしない</td></tr></tbody></table></figure>



<p></p>



<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎指定した文字が含まれているか確認する</span></h2>



<h3 class="wp-block-heading"><span id="toc5">・対象の文字が何文字目にあるか割り出す</span></h3>



<p>では、実際にInStr関数を使用してみたいと思います。</p>



<p>まずはセル番地<strong><span class="marker-under">「<span class="bold-red">B3</span>」の文字列から「<span class="bold-blue">D</span>」の文字が含まれているか確認</span></strong>したいと思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="395" height="137" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-13.png" alt="" class="wp-image-4026" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-13.png 395w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-13-300x104.png 300w" sizes="(max-width: 395px) 100vw, 395px" /></figure>



<p>見本のソースコードは下記の通りです。</p>



<pre class="wp-block-verse">Sub 何文字目にあるか調査()
Dim answer As Long
'文字列中に「D」が何文字目に含まれているかどうかを判定
<strong><span class="marker-under-red">answer</span></strong> = InStr(1, <span class="bold-red">Range("B3")</span>, <span class="bold-blue">"D"</span>)
MsgBox "Dは" &amp; <strong><span class="marker-under-red">answer</span></strong> &amp; "文字目にあります。"
End Sub</pre>



<p>では構文と比較しましょう。</p>



<p><span class="fz-18px"><span class="fz-20px"><strong>InStr(<span class="bold-green">[検索開始位置]</span>,<span class="bold-red">検索対象</span>,<span class="bold-blue">検索文字・数値</span>,<span class="bold-green">[検索の種類]</span>)</strong></span></span></p>



<p>今回は検索開始位置を入力していますが、省略しても構いません。<br>例では「1」と入力しているので１文字目から検索します。</p>



<p><span class="bold-red">検索対象</span>はセル番地「<span class="bold-red">B3</span>」なので「 <span class="bold-red">Range(&#8220;B3&#8221;)</span>」としています。<br>「Cells(3,2)」でも構いません。</p>



<p><span class="bold-blue">検索文字・数値</span>は「<span class="bold-blue">D</span>」なので、ダブルクォーテーション「&#8221;」で囲って入力します。<br>ここで<strong><span class="marker-under">「&#8221;」で囲わないと変数扱いになるので注意が必要</span></strong>です。</p>



<p>結果としてInStr関数に当てはめるとこのようになります。<br><strong>answer</strong> =InStr(1, <span class="bold-red">Range(&#8220;B3&#8221;)</span>, &#8220;<span class="bold-blue">D</span>&#8220;)</p>



<p>今回は結果を「<strong>answer</strong>」という変数に格納してメッセージボックスにて<br>何文字目に「D」があるか表示したいと思います。</p>



<p>それではこちらを実行してみましょう。<br>結果はこのようになります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-14.png" alt="" class="wp-image-4027" width="508" height="186" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-14.png 554w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-14-300x110.png 300w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<p>「Dは4文字目にあります。」と表示されました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-15.png" alt="" class="wp-image-4028" width="397" height="89" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-15.png 477w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-15-300x67.png 300w" sizes="(max-width: 397px) 100vw, 397px" /></figure>



<p>Aから数えて４番目に位置しているのでうまく機能していますね。</p>



<h3 class="wp-block-heading"><span id="toc6">・対象の文字が含まれているか確認する</span></h3>



<p>InStr関数ですが、検索した結果、<strong><span class="marker-under">対象の文字がなければ<br>変数の値は「0」になります。</span></strong></p>



<p>この機能を応用することで<br>対象の文字が含まれているかわかるようになります。</p>



<p>では、対象の文字が含まれているか、判別するソースコードを紹介します。</p>



<pre class="wp-block-verse">Sub 対象の文字が含まれているか調査()<br>'文字列中に「D」が何文字目に含まれているかどうかを判定<br>If InStr(1, Range("B3"), "D") &gt; 0 Then<br>MsgBox "対象の文字は含まれています"<br>Else<br>MsgBox "対象の文字は含まれていません"<br>End If<br>End Sub</pre>



<p>では説明です。<br>先程のInStr関数にIF関数を合わせることで<br>対象の文字が含まれているか判別できるようになります。</p>



<p>メカニズムとして<br><span class="marker-under-blue"><strong>文字があった場合、何文字目か数値を算出するので結果は「0」以上</strong></span>になります。<br>そこでIF関数で結果が<strong><span class="marker-under-blue">「0」を超えていた場合は「対象の文字は含まれています」</span></strong>というメッセージを表示させます。<br>対して<strong><span class="marker-under-red">検索結果が無い場合は「0」が算出されるため「対象の文字は含まれていません」と言うメッセージを表示させます</span></strong>。</p>



<p>それでは、こちらのソースコードを走らせてみましょう。</p>



<p>セル番地B3には「ABCDE」入力しています。<br>「Ｄ」で検索した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="562" height="232" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-17.png" alt="" class="wp-image-4030" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-17.png 562w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-17-300x124.png 300w" sizes="(max-width: 562px) 100vw, 562px" /></figure>



<p>「ABCDE」の中に「D」は含まれているので「対象の文字は含まれています」という結果になりました。</p>



<p>今度はB3に「FGHIJ」と入力しました。<br>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="567" height="200" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-18.png" alt="" class="wp-image-4031" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-18.png 567w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-18-300x106.png 300w" sizes="(max-width: 567px) 100vw, 567px" /></figure>



<p>「FGHIJ」に「D」はないですから、「対処も文字は含まれていません」という結果になりました。</p>



<p>狙い通り動作していますね。<br>この方法で、対処のセル・変数に対象の文字が含まれているか確認することができます。</p>



<h3 class="wp-block-heading"><span id="toc7">・変数から検索する</span></h3>



<p>先ほどはセルから文字を読み取り、<br>検索を行いましたが、<strong><span class="marker-under">変数から読み取ることも可能</span></strong>です。</p>



<p>では、例を紹介したいと思います。</p>



<p>見本のソースコードをご覧ください。</p>



<pre class="wp-block-verse">Sub 対象の文字が含まれているか調査()
Dim <span class="bold-red">Word </span>As String
<span class="bold-red">Word</span> = "あいうえお"
If InStr(1, <span class="bold-red">Word</span>, "<span class="bold-blue">う</span>") &gt; 0 Then
MsgBox "対象の文字は含まれています"
Else
MsgBox "対象の文字は含まれていません"
End If
End Sub</pre>



<p>内容として、変数「<span class="bold-red">Word</span>」に「<strong><span class="marker-under-red">あいうえお</span></strong>」と言う文字列を格納しています。<br>こちらをInStr関数を使用することで<br>対象の文字が含まれているか確認します。</p>



<p>今回は、見本で「<strong><span class="bold-blue">う</span></strong>」を検索しましょう。</p>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="242" height="185" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-19.png" alt="" class="wp-image-4032"/></figure>



<p>「<span class="bold-red">あいうえお</span>」の中に「<span class="bold-blue">う</span>」は含まれているので「対象の文字は含まれています」という結果になりました。</p>



<p>　</p>



<p>今度は「<span class="bold-blue">か</span>」を検索してみたいと思います。</p>



<pre class="wp-block-verse">If InStr(1, <span class="bold-red">Word</span>, "<span class="bold-blue">か</span>") &gt; 0 Then</pre>



<p><br>結果はこのようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="262" height="207" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-20.png" alt="" class="wp-image-4033"/></figure>



<p>変数でも文字を検索することが出来ていますね。</p>



<h2 class="wp-block-heading"><span id="toc8">&#x2b1b;︎よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc9">・文字が大文字・小文字で異なる</span></h3>



<p>検索の対象または検索する文字が<br>大文字と小文字で異なっている場合はうまく検索できません。</p>



<p>先ほどの見本で小文字の「<span class="bold-blue">ｄ</span>」を検索してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="350" height="125" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-21.png" alt="" class="wp-image-4034" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-21.png 350w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-21-300x107.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></figure>



<pre class="wp-block-verse">Sub 対象の文字が何個含まれているか調査()
Dim Counter, N
Counter = 0
N = 1
Do
N = InStr(N + Counter, Range("B3"), "<span class="bold-blue">d</span>")
If N = 0 Then
Exit Do
Else
Counter = Counter + 1
End If
Loop
MsgBox "対象の文字は" &amp; Counter &amp; "個あります。"
End Sub</pre>



<p>結果はこのようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="566" height="207" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-22.png" alt="" class="wp-image-4035" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-22.png 566w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-22-300x110.png 300w" sizes="(max-width: 566px) 100vw, 566px" /></figure>



<p><strong><span class="marker-under">検索文字が小文字のために「D」を検出できていません</span></strong>。</p>



<p>では、再度構文を見てみましょう。<br><strong><strong>InStr(<strong>[検索開始位置]</strong>,<strong>検索対象</strong>,<strong>検索文字・数値</strong>,<strong><span class="bold-green">[検索の種類]</span></strong>)</strong></strong></p>



<p>冒頭で検索の種類は「バイナリモード」と「テキストモード」があると説明しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>モード</th><th>入力文字</th><th>機能</th></tr></thead><tbody><tr><td>バイナリ</td><td><span class="bold-green">vbBinaryCompare</span></td><td>全角・半角の区別、大文字・小文字の区別をする</td></tr><tr><td>テキスト</td><td><span class="bold-green">vbTextCompare</span></td><td>全角・半角の区別、大文字・小文字の区別をしない</td></tr></tbody></table></figure>



<p><br>省略していた場合は「バイナリモード」となり、大文字・小文字を区別します。</p>



<p>つまり、大文字と小文字を区別しないテキストモードに変更すればいいのです。</p>



<p>なので検索の方法に「<span class="bold-green">vbTextCompare</span>」を追加すれば大文字と小文字を区別しなくなります。</p>



<pre class="wp-block-verse">N = InStr(N + Counter, Range("B3"), "d", <strong><span class="bold-green">vbTextCompare</span></strong>)</pre>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="587" height="225" src="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-23.png" alt="" class="wp-image-4036" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/03/image-23.png 587w, https://dokugakuexcel.com/wp-content/uploads/2023/03/image-23-300x115.png 300w" sizes="(max-width: 587px) 100vw, 587px" /></figure>



<p><strong><span class="marker-under">小文字で検索しましたが、大文字の「D」が検索出来ていますね。</span></strong></p>



<h3 class="wp-block-heading"><span id="toc10">・文字が全角・半角で異なる</span></h3>



<p>こちらも先程のエラーと同様です。<br>検索方法を<strong><span class="marker-under-blue">テキストモードに変える</span></strong>ことにより、全角半角<br>どちらでも検索できるようになります。</p>



<h2 class="wp-block-heading"><span id="toc11">&#x2b1b;︎公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br>マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/instr-function">InStr関数（Visual Basic for Applications） | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc12">&#x2b1b;︎まとめ</span></h2>



<p>いかがだったでしょうか？<br>InStr関数を使えば対象の文字・数値が含まれているか確認することができます,<br>さらに、何文字目に含まれているかも確認することは可能なので、機能を応用することが可能です。</p>



<p>ぜひ活用してみてください。</p>



<p>応用編としてInStr関数を使用して、対象の文字が何文字あるか<br>算出する方法も、別の記事でまとめていますので、ご参照下さい。</p>



<p>記事についてはこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e6%96%87%e5%ad%97%e3%81%8c%e4%bd%95%e5%80%8b%e3%83%bb%e4%bd%95%e6%96%87%e5%ad%97%e3%81%82%e3%82%8b%e3%81%8binstr%e9%96%a2/">【マクロVBA】対象の文字が何個・何文字あるかInStr関数で求める！変数・セルに対応 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%af%be%e8%b1%a1%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ab%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%96%87%e5%ad%97%e3%83%bb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4025</post-id>	</item>
	</channel>
</rss>
