<?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>Exit sub  |  独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/tag/exit-sub/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Wed, 05 Jul 2023 15:00:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>Exit sub  |  独学エクセル塾</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練習問題20】強制・途中終了・ループ抜け出し！IFとExit Sub・Forを組み合わせる</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%8c20%e3%80%91%e5%bc%b7%e5%88%b6%e3%83%bb%e9%80%94%e4%b8%ad%e7%b5%82%e4%ba%86%e3%83%bb%e3%83%ab%e3%83%bc%e3%83%97%e6%8a%9c/?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%258c20%25e3%2580%2591%25e5%25bc%25b7%25e5%2588%25b6%25e3%2583%25bb%25e9%2580%2594%25e4%25b8%25ad%25e7%25b5%2582%25e4%25ba%2586%25e3%2583%25bb%25e3%2583%25ab%25e3%2583%25bc%25e3%2583%2597%25e6%258a%259c</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 05 Jul 2023 15:00:53 +0000</pubDate>
				<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[繰り返し]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[強制終了]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[Exit For]]></category>
		<category><![CDATA[ループ抜け出し]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[Exit sub]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4418</guid>

					<description><![CDATA[目次 練習問題と内容について・練習問題の狙い・練習問題20について練習問題の内容と動作説明問題内容動作説明ヒント・ヒントその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-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">練習問題と内容について</a><ol><li><a href="#toc2" tabindex="0">・練習問題の狙い</a></li><li><a href="#toc3" tabindex="0">・練習問題20について</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">・練習問題20について</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からA10まで順番に数値を2倍にしていき、C列に出力する。その数値が100を超えた場合に処理を終了</strong></span>する。</p>
<p><img fetchpriority="high" decoding="async" width="1079" height="374" class="alignnone wp-image-4419 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37.png 1079w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37-300x104.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37-1024x355.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37-768x266.png 768w" sizes="(max-width: 1079px) 100vw, 1079px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>BAを使用して、セル番地A1からA10までの数値を順番に2倍にしてC列に出力します。</p>
<p>処理中、出力した数値が100を超えた場合には処理を終了します。</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>ループ構造を使用して、セルの範囲を順番に処理します。</p>
<p>ループ変数を使用して、セルの行番号や列番号を更新していく方法を考えてみましょう。</p>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>条件を満たすと繰り返し処理抜け出す必要があります。</p>
<p><span class="marker-under"><strong>例えば「For Next」で繰り返し処理をしている場合は、「Exit For」でループを抜け出します</strong></span>。</p>
<h3><span id="toc10">・ヒントその3</span></h3>
<p>条件を満たすと強制終了する必要があります。</p>
<p>こちらはとてもシンプルで<span class="marker-under"><strong>「Exit Sub」で強制終了</strong></span>ができます。</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 Exercise20to1()<br />Dim row As Integer<br />Dim value As Double<br /><br />For row = 1 To 10<br />　value = Cells(row, 1).value * 2<br />　Cells(row, 3).value = value<br />　　If value &gt; 100 Then<br />　　　<span style="color: #3366ff;"><strong>Exit For</strong></span><br />　　End If<br />Next row<br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードもセル番地A1からA10までの数値を順番に2倍にし、C列に出力するものです。</p>
<p>処理中、出力した数値が100を超えた場合には処理を終了します。</p>
</div>
<div class="st-yellow blank-box sticky">
<p><span class="marker-red" style="font-size: 24px;"><strong>解答コードのポイント</strong></span></p>
<p>1. rowというループ変数を使用して、行番号を順番に更新します。<br />2. value変数にセルの値を2倍にした結果を代入します。<br />3. Range(&#8220;A&#8221; &amp; row).Valueのようにセル番地を文字列と結合して指定します。<br />4. Range(&#8220;B&#8221; &amp; row).Value = valueのようにB列に結果を出力します。<br />5. If value &gt; 100 Then <span style="color: #3366ff;"><strong>Exit For</strong></span>によって、<span class="marker-under"><strong>数値が100を超えた場合にループを終了</strong></span>します。</p>
</div>
<div class="st-yellow">
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="443" height="312" class="alignnone wp-image-4420 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-38.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-38.png 443w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-38-300x211.png 300w" sizes="(max-width: 443px) 100vw, 443px" /></p>
<p><span class="marker-under"><strong>A6で100を超えたので、ループを抜け出すことが出来ました。</strong></span><br /><br /></p>
</div>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise20to2()<br />Dim row As Integer<br />Dim value As Double<br /><br />For row = 1 To 10<br />　value = Cells(row, 1).value * 2<br />　Cells(row, 3).value = value<br />　　If value &gt; 100 Then<br />　　　<span style="color: #ff0000;"><strong>Exit Sub</strong></span><br />　　End If<br />Next row<br />End Sub</p>
</div>
<div>
<p>先ほどは条件を満たすと、ループを抜け出す方法でしたが、今回は<span class="marker-under"><strong>「強制終了」で処理</strong></span>しています。</p>
</div>
<p>条件を満たすと<span class="marker-under"><strong>「<span style="color: #3366ff;">Exit Sub</span>」で強制終了</strong></span>する仕組みです。</p>
<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ループを使った反復処理を利用した反復処理について理解しておくと良いでしょう。</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="toc16">ループの抜け出し・強制終了</span></h3>
<p> VBAでは、ループ処理をよく使用しますが、途中でループ処理を中断したい場合があると思います。<br />その際は「<strong><span style="color: #3366ff;">Exit For</span></strong>」を使用してループ処理を抜け出します。</p>
<p>さらに強制終了では「<span style="color: #3366ff;"><strong>Exit Sub</strong></span>」を使用することで直ちに処理を終了することが出来ます。</p>
<p>場面によって使い分けてください。</p>
<div class="blank-box sticky st-yellow"><span style="color: #ff0000;"><strong>ループ抜け出し</strong></span>：<strong><span style="color: #3366ff;">Exit For</span></strong><br /><span style="color: #ff0000;"><strong>強制終了</strong></span>：<span style="color: #3366ff;"><strong>Exit Sub</strong></span></div>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、Excel VBAの基本的な概念と構文に触れながら、セルの操作やループ処理、条件分岐の活用方法を学ぶことができます。</p>
<p>具体的には、セル番地を指定して値を読み取ったり書き込んだりする方法、<br />ループ構造を使ってセル範囲を順番に処理する方法、条件分岐を使用して特定の条件に基づいて処理を終了する方法などが含まれています。</p>
<p>これらの基本的な知識と技術を身につけることで、VBAを使用してExcelの操作を自動化する能力を向上させることができます。<br />また、問題の難易度を徐々に上げることで、より高度なVBAのスキルを磨くことができます。</p>
<p>練習問題を通じて、VBAの基礎を学びながら自身のスキルを向上させていきましょう。<br />練習問題は段階的に難しくなっていくので、自分のペースで取り組むことをおすすめします。</p>
<p>以上が練習問題20となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4418</post-id>	</item>
		<item>
		<title>【マクロVBA】実行中のプログラムを途中で終了する！設定の条件・エラー発生でExit Subで止める</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%ae%9f%e8%a1%8c%e4%b8%ad%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e9%80%94%e4%b8%ad%e3%81%a7%e7%b5%82%e4%ba%86%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%25e5%25ae%259f%25e8%25a1%258c%25e4%25b8%25ad%25e3%2581%25ae%25e3%2583%2597%25e3%2583%25ad%25e3%2582%25b0%25e3%2583%25a9%25e3%2583%25a0%25e3%2582%2592%25e9%2580%2594%25e4%25b8%25ad%25e3%2581%25a7%25e7%25b5%2582%25e4%25ba%2586%25e3%2581%2599</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%ae%9f%e8%a1%8c%e4%b8%ad%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e9%80%94%e4%b8%ad%e3%81%a7%e7%b5%82%e4%ba%86%e3%81%99/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 13:44:18 +0000</pubDate>
				<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[Exit sub]]></category>
		<category><![CDATA[プログラム停止]]></category>
		<category><![CDATA[停止]]></category>
		<category><![CDATA[終了]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3507</guid>

					<description><![CDATA[今回は、設定した条件になったときにプログラムを終わらせる・実行中のプロシージャを停止させる方法について紹介します。 IFなどの条件分岐をしている場合や、On Errorでエラーになった場合の処理をしている場合などには今回 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">今回は、<strong><span class="marker-under">設定した条件になったときにプログラムを終わらせる・実行中のプロシージャを停止させる方法</span></strong>について紹介します。</p>



<p class="wp-block-paragraph">IFなどの条件分岐をしている場合や、On Errorでエラーになった場合の処理をしている場合などには<br>今回紹介する方法と相性がよく、指定した条件になったらプログラムを終了なんてこともできます。</p>



<p class="wp-block-paragraph">見本の事例も紹介していますので是非参考にしてみてください。</p>



<p class="wp-block-paragraph">それではみていきましょう。</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><ol><li><a href="#toc2" tabindex="0">・条件に当てはまる場合はプログラムを終了させる</a></li><li><a href="#toc3" tabindex="0">・エラーが発生した場合はプログラムを終了させる</a></li></ol></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎構文の説明</a></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎Exit Subの仕組みと特徴</a></li><li><a href="#toc6" tabindex="0">&#x2b1b;︎事例①:If Thenと合わせて、条件の元プログラムを終了する</a></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎事例②:エラー発生時にプログラムを終了させる</a></li><li><a href="#toc8" tabindex="0">&#x2b1b;︎公式</a></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</span></h2>



<h3 class="wp-block-heading"><span id="toc2">・条件に当てはまる場合はプログラムを終了させる</span></h3>



<pre class="wp-block-verse">Sub 条件の場合()

If プログラムをとめる条件 Then
MsgBox "プログラムを終了します"
<span class="bold-blue">Exit Sub</span>
End If

'ここに処理プログラム
End Sub</pre>



<h3 class="wp-block-heading"><span id="toc3">・エラーが発生した場合はプログラムを終了させる</span></h3>



<pre class="wp-block-verse">Sub エラーの場合()

On Error GoTo <span class="bold-red">Error1</span>
'ここに処理プログラム
<span class="bold-blue">Exit Sub</span>

<span class="bold-red">Error1</span>:
MsgBox "プログラムを終了します"

End Sub</pre>



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



<pre class="wp-block-verse"><span class="fz-20px"><strong>Exit Sub</strong></span></pre>



<p class="wp-block-paragraph">これだけです、<br><strong><span class="marker-under">「Exit Sub」を実行した時点でプログラムは終了</span></strong>します。</p>



<h2 class="wp-block-heading"><span id="toc5">&#x2b1b;︎Exit Subの仕組みと特徴</span></h2>



<p class="wp-block-paragraph">構文を見てもらったらわかる通り「Exit Sub」のみで、実行中のプログラムを終えることができます。<br>通常、プログラムを終了させるのは「<strong><span class="marker-under-blue">End Sub</span></strong>」ですよね。</p>



<p class="wp-block-paragraph">しかし「End Sub」は<strong><span class="marker-under-blue">プログラムの最終行になければいけません。</span></strong><br>それでも条件によっては途中で終わらせたい場合がありますよね。</p>



<p class="wp-block-paragraph">そこで使用するのが「<strong><span class="marker-under-red">Exit Sub</span></strong>」になります。<br>「<strong><span class="marker-under-red">Exit Sub」は最終行でなくても機能し、プログラムの実行を終わらせるとこができます</span></strong>。</p>



<p class="wp-block-paragraph">機能自体は「End Sub」と同様なので、条件分岐やGotoと合わせて使用することが多いです。<br>では事例をみていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc6">&#x2b1b;︎事例①:If Thenと合わせて、条件の元プログラムを終了する</span></h2>



<p class="wp-block-paragraph">では一つ目の事例です。<br>下図のシートをご覧ください。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="845" height="178" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-74.png" alt="" class="wp-image-3508" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-74.png 845w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-74-300x63.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-74-768x162.png 768w" sizes="(max-width: 845px) 100vw, 845px" /></figure>



<p class="wp-block-paragraph">B3に入力してある「数値①」にD3に入力してある「数値②」で割った値を<br>「F3」に出力しています。</p>



<p class="wp-block-paragraph">簡単なプログラムですが、このようになっています。</p>



<pre class="wp-block-verse">Sub 数値①から数値②を除算()<br>Cells(3, 6) = Cells(3, 2) / Cells(3, 4)<br>End Sub</pre>



<p class="wp-block-paragraph">では実行してみましょう。<br>結果はこのようになりました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="847" height="188" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-75.png" alt="" class="wp-image-3509" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-75.png 847w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-75-300x67.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-75-768x170.png 768w" sizes="(max-width: 847px) 100vw, 847px" /></figure>



<p class="wp-block-paragraph">計算出来ていますね。<br>では、数値②を空白にして実行してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="855" height="178" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-76.png" alt="" class="wp-image-3510" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-76.png 855w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-76-300x62.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-76-768x160.png 768w" sizes="(max-width: 855px) 100vw, 855px" /></figure>



<p class="wp-block-paragraph">するとこのような画面が出てきます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-77.png" alt="" class="wp-image-3511" width="481" height="233" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-77.png 652w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-77-300x145.png 300w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p class="wp-block-paragraph"><strong><span class="marker-under">エラーが出ました</span></strong>。このエラーは文字通り「0で割ったことが原因で出るエラーです。<br>このエラー画面はVBAに慣れている人は見慣れているのでうまく対処できますが、<br>VBAを触ったことがない人がこの画面を見ると戸惑ってしまいます。</p>



<p class="wp-block-paragraph">「デバッグ」を押すと出てくるプログラムに訳がわからなくわからなったりしたら<br>対応出来なくなるリスクを踏まえると、みんなに優しいプログラムとは言えませんね。</p>



<p class="wp-block-paragraph">そこで<strong><span class="marker-under-red">「数値①」と「数値②」が空白だった場合</span></strong>、「数値①、②が空白です」というメッセージとともにプ<strong><span class="marker-under-blue">ログラムを終了する方法</span></strong>を見ていきましょう。</p>



<p class="wp-block-paragraph">使用するのは「If Then」になります。<br>使用方法については下記記事でまとめてますのでご覧ください。</p>



<p class="wp-block-paragraph">では見本のプログラムをみていきましょう。</p>



<pre class="wp-block-verse">Sub 数値①から数値②を除算()

If <strong><span class="marker-under-red">Cells(3, 2) = ""</span></strong> Or<strong><span class="marker-under-red"> Cells(3, 4) = "" </span></strong>Then
MsgBox "数値①、②が空白です"
<span class="bold-blue">Exit Sub</span>
End If

Cells(3, 6) = Cells(3, 2) / Cells(3, 4)
End Sub</pre>



<p class="wp-block-paragraph">では「B3」と「D3」に数値が入ってない場合<br>で実行してみたいと思います。<br>するとこのようになりました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="641" height="375" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-78.png" alt="" class="wp-image-3512" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-78.png 641w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-78-300x176.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure>



<p class="wp-block-paragraph">「数値①、②が空白です」というメッセージと共に<br><strong><span class="marker-under">計算をせずにプログラムが終了</span></strong>しています。</p>



<p class="wp-block-paragraph">つまりIfの条件に当てはまり、メッセージボックスを表示させた後、<br><strong><span class="marker-under-blue">「Exit Sub」でプログラムを終了</span></strong>させたことになります。</p>



<p class="wp-block-paragraph">これで、ある条件に該当した場合はプログラムを止めることができますね。</p>



<h2 class="wp-block-heading"><span id="toc7">&#x2b1b;︎事例②:エラー発生時にプログラムを終了させる</span></h2>



<p class="wp-block-paragraph">次に<strong><span class="marker-under">エラーが発生した際にプログラムを終了させる</span></strong>事例をみていきましょう。<br>エラーを検出する方法は「<span class="bold-red">On Error</span>」になります。</p>



<p class="wp-block-paragraph">「On Error」を詳しい使用方法は下記記事をご覧ください。</p>



<p class="wp-block-paragraph"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%81%ae%e3%82%a8%e3%83%a9%e3%83%bc%e5%af%be%e7%ad%96%e3%80%91%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%ab%e8%b2%a0%e3%81%91%e3%81%aa%e3%81%84%e3%83%97%e3%83%ad/">【マクロVBAのエラー対策】エラーが発生したら指定行まで移動！エラーに負けないプログラムの作り方 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p class="wp-block-paragraph">こちらは先に見本のプログラムを見てみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><span class="bold-red">On Error </span>Goto <span class="bold-green">任意ラベル</span><br>　　・<br>　　・<br>　　・<br>通常プログラム<br>　　・<br>　　・<br>　　・<br><span class="bold-blue">Exit Sub</span></p><p><span class="bold-green">任意ラベル</span>：</p><p>エラー時の処理</p><p>End Sub</p></blockquote>



<p class="wp-block-paragraph">このようになります。<br>「On Error」の後にある「Goto 任意ラベル」によって<br><strong><span class="marker-under">エラーが起きた際は「任意ラベル」へ飛び、「End Sub」で終了</span></strong>します。</p>



<p class="wp-block-paragraph">対して<strong><span class="marker-under">エラーが起きない通常の場合は「Exit Sub」で終わる</span></strong>ようになります。</p>



<p class="wp-block-paragraph">では先程の見本をご覧ください。<br>今回も空白の場合は「数値①、②が空白です」というメッセージを出したいと思います。</p>



<p class="wp-block-paragraph">プログラムはこのようになります。</p>



<pre class="wp-block-verse">Sub 数値①から数値②を除算2()

<span class="bold-red">On Error</span> GoTo <span class="bold-green">Error1</span>
Cells(3, 6) = Cells(3, 2) / Cells(3, 4)
<span class="bold-blue">Exit Sub</span>

<span class="bold-green">Error1</span>:
MsgBox "数値①、②が空白です"
End Sub</pre>



<p class="wp-block-paragraph">それでは実行してみましょう。</p>



<p class="wp-block-paragraph">通常の場合はこちら、、、</p>



<figure class="wp-block-image size-full"><img decoding="async" width="836" height="182" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-79.png" alt="" class="wp-image-3513" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-79.png 836w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-79-300x65.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-79-768x167.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">狙い通り計算出来ています。</p>



<p class="wp-block-paragraph">対して数値が空白の場合、、、</p>



<figure class="wp-block-image size-full"><img decoding="async" width="641" height="376" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-80.png" alt="" class="wp-image-3514" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-80.png 641w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-80-300x176.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure>



<p class="wp-block-paragraph">「数値①、②が空白です」が表示され、プログラムを終えてくれました。<br>これでエラーが起きた際のプログラム停止が可能になります。</p>



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



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



<p class="wp-block-paragraph"><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/exit-statement">Exit ステートメント (VBA) | Microsoft Learn</a></p>



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



<p class="wp-block-paragraph">いかがだったでしょうか。<br>「End Sub」と違い「Exit Sub」はどこにでも配置でき、<br>Ifなどといった条件分岐や、「On Error」といったエラー時の<br>処置と相性がいいです。</p>



<p class="wp-block-paragraph">複数人が触るシステムなどには入力し忘れをメッセージで出したりなど<br>活用法は様々です。</p>



<p class="wp-block-paragraph">是非活用してみてください。</p>



<p class="wp-block-paragraph">それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%ae%9f%e8%a1%8c%e4%b8%ad%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e9%80%94%e4%b8%ad%e3%81%a7%e7%b5%82%e4%ba%86%e3%81%99/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3507</post-id>	</item>
	</channel>
</rss>
