<?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/%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Mon, 05 Dec 2022 14:42:53 +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】1行のソースコードを複数行のソースコードに置き換える代用方法について</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%911%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%25911%25e8%25a1%258c%25e3%2581%25ae%25e3%2582%25bd%25e3%2583%25bc%25e3%2582%25b9%25e3%2582%25b3%25e3%2583%25bc%25e3%2583%2589%25e3%2582%2592%25e8%25a4%2587%25e6%2595%25b0%25e8%25a1%258c%25e3%2581%25ae%25e3%2582%25bd%25e3%2583%25bc%25e3%2582%25b9</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%911%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 05 Dec 2022 14:41:43 +0000</pubDate>
				<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[置き換え]]></category>
		<category><![CDATA[行]]></category>
		<category><![CDATA[複数行]]></category>
		<category><![CDATA[１行]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3864</guid>

					<description><![CDATA[置き換えという機能はエクセル内でもよく使用する機能です。この機能はマクロVBAのソースコードにも存在しており、ソースコード（プログラム）を一括で置き換え出来たりととても便利な機能です。 しかし、一行のソースコードを複数行 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong><span class="marker-under">置き換え</span></strong>という機能はエクセル内でもよく使用する機能です。<br>この機能はマクロVBAのソースコードにも存在しており、<strong><span class="marker-under">ソースコード（プログラム）を<br>一括で置き換え出来たりととても便利な機能</span></strong>です。</p>



<p>しかし、一行のソースコードを複数行のソースコードに置き換えたい場合も存在しますよね。</p>



<p>そこで今回は置き換えを使用して<strong><span class="marker-under">１行から複数行の置き換え方法</span></strong>を紹介したいと思います。<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">&#x2b1b;︎一行から複数行への置き換え方法</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1"> &#x2b1b;︎通常のソースコードの置き換え</span></h2>



<p>まず、通常の置き換え方法を見ていきましょう。<br>visual basicの画面で<span class="marker-under-red"><strong>「ctrl＋F」</strong></span>を押します。</p>



<p>すると下図のようなメニュー画面が表示されると思います。</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-15.png" alt="" class="wp-image-3865" width="521" height="174" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-15.png 596w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-15-300x100.png 300w" sizes="(max-width: 521px) 100vw, 521px" /></figure>



<p>「ctrl＋F」以外にも<strong><span class="marker-under-red">「編集」</span></strong>から<strong><span class="marker-under-red">「検索」</span></strong>で同様の画面が出てきます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-16.png" alt="" class="wp-image-3866" width="495" height="292" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-16.png 554w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-16-300x177.png 300w" sizes="(max-width: 495px) 100vw, 495px" /></figure>



<p>通常は検索画面になっており、ここで打ち込んだ文字・数値のコードを<br>検索することができます。</p>



<p>こちらを<strong><span class="marker-under">置き換えのメニュー画面に変更</span></strong>してみましょう。<br>先程のメニュー画面の右側に<strong><span class="marker-under-red">「置換」</span></strong>というボタンがあります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-17.png" alt="" class="wp-image-3867" width="596" height="175" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-17.png 851w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-17-300x88.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-17-768x227.png 768w" sizes="(max-width: 596px) 100vw, 596px" /></figure>



<p>こちらを押していただくと下図のような画面になると思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="516" height="220" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-18.png" alt="" class="wp-image-3868" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-18.png 516w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-18-300x128.png 300w" sizes="(max-width: 516px) 100vw, 516px" /></figure>



<p>ちなみに「Ctrl＋H」でも同様の画面が表示されます。</p>



<p>　</p>



<p>では実際に置き換えてみましょう。</p>



<p><strong><span class="marker-under">「<span class="bold-red">検索する文字列</span>」のところに置き換え前の文字・数値を入力</span></strong>し、<br><strong><span class="marker-under">「<span class="bold-blue">置換後の文字列</span>」のところに置き換え後の文字・数値を入力</span></strong>して<br><strong><span class="marker-under-red">「置換」</span></strong>を押すと文字・数値の置き換えができます。</p>



<p>　</p>



<p>では一例を紹介したいと思います。<br>今回は見本で「<span class="bold-red">ABC</span>」を「<span class="bold-blue">CBA</span>」に変更したいと思います。</p>



<p>まず、<span class="marker-under"><strong>「<span class="bold-red">検索する文字列</span>」</strong></span>に「<strong><span class="bold-red">ABC</span></strong>」を入力し、<br><strong><span class="marker-under">「<span class="bold-blue">置換後の文字列</span>」</span></strong>に「<strong><span class="bold-blue">CBA</span></strong>」を入力します。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-19.png" alt="" class="wp-image-3869" width="559" height="200" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-19.png 849w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-19-300x108.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-19-768x276.png 768w" sizes="(max-width: 559px) 100vw, 559px" /></figure>



<p>では<strong><span class="marker-under-red">「置換」</span></strong>を押してみましょう。<br>結果はこのようになりました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-20.png" alt="" class="wp-image-3870" width="594" height="121" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-20.png 874w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-20-300x61.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-20-768x156.png 768w" sizes="(max-width: 594px) 100vw, 594px" /></figure>



<p><strong><span class="marker-under-red">「ABC」が「CBA」に置き換わっています</span></strong>ね。</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%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%81%ae%e6%a4%9c%e7%b4%a2%e3%81%a8%e7%bd%ae%e3%81%8d%e6%8f%9b%e3%81%88%e3%81%ab%e3%81%a4/">【マクロVBA】ソースコードの検索と置き換えについて！カレントプロシージャ・モジュール・プロジェクト ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>ここまでは通常の置き換え方法を紹介しましたが、ここからは一行から複数行の置き換え方法を見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎一行から複数行への置き換え方法</span></h2>



<p>では本題です。<br>先程は一行の中の指定した文字・数値を置き換えましたが<br>今回は<strong><span class="marker-under">一行から複数行の置き換え方法</span></strong>を見ていきましょう。</p>



<p>通常、複数行への置き換えをすることはできません。<br>しかし、<strong><span class="marker-under">似たようなコードを作成することは可能</span></strong>です。</p>



<p>先程のプログラムを例に見ていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Sub 置き換え見本()</p>



<p>Range(&#8220;A1&#8221;) = &#8220;ABC&#8221;</p>



<p>End Sub</p>
</blockquote>



<p>今回は「A1」に「ABC」を入力するプログラムですが、<br>「A1」に「A」、「B1」に「B」、「C1」に「C」を入力するプログラムにしてみましょう。</p>



<p>狙いの動作を可能にするプロシージャは下記の通りです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Sub 置き換え見本()</p>



<p><span class="bold-red">Range(&#8220;A1&#8221;) = &#8220;A&#8221;</span><br><span class="bold-blue">Range(&#8220;B1&#8221;) = &#8220;B&#8221;</span><br><span class="bold-green">Range(&#8220;C1&#8221;) = &#8220;C&#8221;</span></p>



<p>End Sub</p>
</blockquote>



<p>しかし<strong><span class="marker-under-blue">変更後は3行なので置き換えができません</span></strong>よね。<br>そこで使用するのが<strong><span class="marker-under">「：（コロン）」</span></strong>になります。</p>



<p><strong><span class="marker-under">「：（コロン）」は複数行のプログラムを1行にまとめる機能</span></strong>があります。<br>「：（コロン）」についての詳しい解説は下記記事を参考にしてください。</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-26%e3%80%91%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%921%e8%a1%8c%e3%83%bb%e5%b0%8f%e6%95%b0/">【マクロVBA】複数行のソースコードを1行・小数行にまとめて短縮する!:(コロン)の活用について ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>こちらを使用して3行のソースコードを1行にして置き換えます。</p>



<p>　</p>



<p>それでは置き換えてみましょう。<br>「検索する文字列」は「&#8221;ABC&#8221;」で、<br>「置換後の文字列」は「<span class="bold-red">&#8220;A&#8221;</span>:<span class="bold-blue">Range(&#8220;B1&#8221;) = &#8220;B&#8221;</span>:<span class="bold-green">Range(&#8220;C1&#8221;) = &#8220;C&#8221;</span>」のようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="589" height="245" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-21.png" alt="" class="wp-image-3871" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-21.png 589w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-21-300x125.png 300w" sizes="(max-width: 589px) 100vw, 589px" /></figure>



<p>実行するとこのようになります。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="133" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-22-1024x133.png" alt="" class="wp-image-3872" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-22-1024x133.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-22-300x39.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-22-768x100.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-22.png 1075w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong><span class="marker-under">1行を3行分のソースコードに置き換え</span></strong>ることができました。<br>コードは長くなってしまいますが、置き換えの対象が多い場合には便利ですね。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/how-to/replace-text-in-code">コード内のテキストを置き換える (VBA) | Microsoft Learn</a></p>



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



<p>いかがだったでしょうか。<br>ソースコードが多ければ多いほど<br>置き換えの方法は役に立ってきます。</p>



<p>さらに複数行へ置き換えることができたら<br>作業の効率化につながってきます。</p>



<p>是非参考にしてみてください。<br>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%911%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3864</post-id>	</item>
		<item>
		<title>【マクロVBA】ソースコードの検索と置き換えについて！カレントプロシージャ・モジュール・プロジェクト</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%81%ae%e6%a4%9c%e7%b4%a2%e3%81%a8%e7%bd%ae%e3%81%8d%e6%8f%9b%e3%81%88%e3%81%ab%e3%81%a4/?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%25bd%25e3%2583%25bc%25e3%2582%25b9%25e3%2582%25b3%25e3%2583%25bc%25e3%2583%2589%25e3%2581%25ae%25e6%25a4%259c%25e7%25b4%25a2%25e3%2581%25a8%25e7%25bd%25ae%25e3%2581%258d%25e6%258f%259b%25e3%2581%2588%25e3%2581%25ab%25e3%2581%25a4</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%81%ae%e6%a4%9c%e7%b4%a2%e3%81%a8%e7%bd%ae%e3%81%8d%e6%8f%9b%e3%81%88%e3%81%ab%e3%81%a4/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 05 Dec 2022 14:21:17 +0000</pubDate>
				<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[カレントモジュール]]></category>
		<category><![CDATA[カレントプロジェクト]]></category>
		<category><![CDATA[検索]]></category>
		<category><![CDATA[置換]]></category>
		<category><![CDATA[カレントプロシージャ]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3846</guid>

					<description><![CDATA[普段エクセルで、検索や置き換えの機能を使用している方も多いのでないでしょうが。対象の文字・数値を検索して、データの場所を確認したり置き換えで文字・数値を変更したり便利な機能です。 この、検索・置き換えの機能ですがマクロV [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p></p>



<p>普段エクセルで、<strong><span class="marker-under">検索や置き換えの機能</span></strong>を使用している方も多いのでないでしょうが。<br>対象の文字・数値を検索して、データの場所を確認したり<br>置き換えで文字・数値を変更したり便利な機能です。</p>



<p>この、検索・置き換えの機能ですが<strong><span class="marker-under">マクロVBAのソースコードでも<br>同様の機能を使用することができます</span></strong>。</p>



<p>さらにブック内のプロジェクト内やモジュール内、プロシージャ内など<br><strong><span class="marker-under">対象を絞って検索・置き換えができる</span></strong>ので是非参考にしてみてください。</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><ol><li><a href="#toc2" tabindex="0">・検索メニューを表示する</a><ol><li><a href="#toc3" tabindex="0">①メニューから表示する</a></li><li><a href="#toc4" tabindex="0">②ショートカットキーを使用する</a></li></ol></li><li><a href="#toc5" tabindex="0">・検索する</a></li></ol></li><li><a href="#toc6" tabindex="0">&#x2b1b;︎置き換えをする</a><ol><li><a href="#toc7" tabindex="0">・置き換えメニューを表示する</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></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><li><a href="#toc14" tabindex="0">・カレントプロジェクト</a></li></ol></li><li><a href="#toc15" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc16" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎検索をする</span></h2>



<p>まず、<strong><span class="marker-under-red">検索</span></strong>からみていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">・検索メニューを表示する</span></h3>



<p>検索するにあたって<strong><span class="marker-under">検索メニューを表示</span></strong>する必要があります。<br>メニューの表示方法として2通り存在します。</p>



<h4 class="wp-block-heading"><span id="toc3">①メニューから表示する</span></h4>



<p>まず、メニューから表示する方法です。<br>こちらはメニュー内の<strong><span class="marker-under-red">「編集」</span></strong>から<strong><span class="marker-under-red">「検索」</span></strong>を選択します。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image.png" alt="" class="wp-image-3847" width="402" height="238" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image.png 553w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-300x177.png 300w" sizes="(max-width: 402px) 100vw, 402px" /></figure>



<h4 class="wp-block-heading"><span id="toc4">②ショートカットキーを使用する</span></h4>



<p>こちらの方が簡単に表示させることができます。<br>方法として<strong><span class="marker-under-red">キーボードの「Ctrl」と「F」を同時押し</span></strong>すると表示させることができます。<br>では実際に検索してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">・検索する</span></h3>



<p>まず<strong><span class="marker-under-blue">検索したい文字・数値を「検索する文字列」に入力</span></strong>します。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-12.png" alt="" class="wp-image-3859" width="507" height="173" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-12.png 735w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-12-300x102.png 300w" sizes="(max-width: 507px) 100vw, 507px" /></figure>



<p><br>そして<strong><span class="marker-under-blue">「検索」を押すごとに対象の文字・数値を表示</span></strong>してくれます。</p>



<p>見本で下記のソースコードを用意しました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Sub 置き換え見本()</p>



<p>Range(&#8220;A1&#8221;) = &#8220;ABC&#8221;</p>



<p>End Sub</p>
</blockquote>



<p>方法として「検索する文字列」に検索したい文字を入力します。<br>今回は「<strong><span class="bold-red">ABC</span></strong>」を検索してみましょう。<br>「検索する文字列」に「<strong><span class="bold-red">ABC</span></strong>」を入力して<strong><span class="marker-under-red">「次を検索」</span></strong>を押してみます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-1.png" alt="" class="wp-image-3848" width="606" height="151" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-1.png 798w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-1-300x75.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-1-768x192.png 768w" sizes="(max-width: 606px) 100vw, 606px" /></figure>



<p>　</p>



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



<p>　</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-2.png" alt="" class="wp-image-3849" width="584" height="238" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-2.png 802w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-2-300x122.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-2-768x313.png 768w" sizes="(max-width: 584px) 100vw, 584px" /></figure>



<p><strong><span class="marker-under">「<span class="bold-red">ABC</span>」が選択されています</span></strong>ね。<br><strong><span class="marker-under">ほかに「ABC」があった場合は「検索」を押すごとに「ABC」の文字列に位置を合わしてくれます</span></strong>。<br>これで対象の文字・数値があるか検索できますね。</p>



<h2 class="wp-block-heading"><span id="toc6">&#x2b1b;︎置き換えをする</span></h2>



<p>今度は<strong><span class="marker-under-red">置き換え</span></strong>の方法をみていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">・置き換えメニューを表示する</span></h3>



<p>置き換えも検索と同様に<strong><span class="marker-under-red">メニューを表示させる</span></strong>必要があります。<br>こちらも2パターンあるのでそれぞれ紹介したいと思います。</p>



<h4 class="wp-block-heading"><span id="toc8">①検索メニューから切り替え</span></h4>



<p>まずは先程の<strong><span class="marker-under">検索メニューから置き換えのメニュー画面に変更</span></strong>してみましょう。<br>検査メニュー画面の右側に<strong><span class="marker-under-red">「置換」</span></strong>というボタンがあります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-3.png" alt="" class="wp-image-3850" width="670" height="197" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-3.png 852w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-3-300x88.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-3-768x226.png 768w" sizes="(max-width: 670px) 100vw, 670px" /></figure>



<p>　</p>



<p>こちらを押していただくと下図のような画面になると思います。</p>



<p>　</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-4.png" alt="" class="wp-image-3851" width="575" height="245" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-4.png 688w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-4-300x128.png 300w" sizes="(max-width: 575px) 100vw, 575px" /></figure>



<p>この画面が置き換えのメニュー画面となります。</p>



<p>別の方法としてはメニュー内の<strong><span class="marker-under-red">「編集」</span></strong>から<strong><span class="marker-under-red">「置換」</span></strong>を選択しても<br>同様の画面が表示されます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-5.png" alt="" class="wp-image-3852" width="462" height="292" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-5.png 503w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-5-300x190.png 300w" sizes="(max-width: 462px) 100vw, 462px" /></figure>



<h4 class="wp-block-heading"><span id="toc9">②ショートカットキーを使用する</span></h4>



<p>こちらも検索と同様に簡単に表示させることができます。<br>方法として<strong><span class="marker-under">キーボードの「Ctrl」と「H」を同時押し</span></strong>すると表示させることができます。<br>では実際に置き換えしてみましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">・置き換えをする</span></h3>



<p>では実際に置き換えてみましょう。<br><strong><span class="marker-under">「<span class="bold-red">検索する文字列</span>」のところに置き換え前の文字・数値を入力</span></strong>し、<br><strong><span class="marker-under">「<span class="bold-blue">置換後の文字列</span>」のところに置き換え後の文字・数値を入力</span></strong>して<br><strong><span class="marker-under-red">「置換」</span></strong>を押すと文字・数値の置き換えができます。</p>



<p>　</p>



<p>では一例を紹介したいと思います。<br>今回は見本で「<span class="bold-red">ABC</span>」を「<span class="bold-blue">CBA</span>」に変更したいと思います。</p>



<p>まず、<span class="marker-under"><strong>「<span class="bold-red">検索する文字列</span>」</strong></span>に「<strong><span class="bold-red">ABC</span></strong>」を入力し、<br><strong><span class="marker-under">「<span class="bold-blue">置換後の文字列</span>」</span></strong>に「<strong><span class="bold-blue">CBA</span></strong>」を入力します。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-6.png" alt="" class="wp-image-3853" width="643" height="234" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-6.png 849w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-6-300x110.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-6-768x280.png 768w" sizes="(max-width: 643px) 100vw, 643px" /></figure>



<p>では<strong><span class="marker-under-red">「置換」</span></strong>を押してみましょう。<br>結果はこのようになりました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-7.png" alt="" class="wp-image-3854" width="637" height="131" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-7.png 874w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-7-300x62.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-7-768x159.png 768w" sizes="(max-width: 637px) 100vw, 637px" /></figure>



<p><strong><span class="marker-under">「ABC」が「CBA」に置き換わっています</span></strong>ね。<br>こちらも検索と同様に<strong><span class="marker-under">ほかに「ABC」があった場合は「置換」を押すごとに「ABC」を「CBA」に置き換えてくれます</span></strong>。</p>



<p>さらに置換の下にある<strong><span class="marker-under-blue">「すべて置換」</span></strong>を押すと<br>文字通り、<strong><span class="marker-under-blue">すべての検索に該当する文字列を置き換え</span></strong>てくれます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="999" height="310" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-8.png" alt="" class="wp-image-3855" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-8.png 999w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-8-300x93.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-8-768x238.png 768w" sizes="(max-width: 999px) 100vw, 999px" /></figure>



<h2 class="wp-block-heading"><span id="toc11">&#x2b1b;︎検索・置き換えの対象を選択する</span></h2>



<p>これまでは通常の検索・置き換えの方法を紹介しました。<br>しかしソースコードは様々な場所に書き込めますよね。<br>例えばモジュールの中にも複数のプロシージャを作成できますしモジュール自体も複数追加できます。</p>



<p>そこでどの<strong><span class="marker-under">対象範囲で検索・置き換えするのか選択</span></strong>できるようになってます。</p>



<p>操作するところは検査・置き換えメニューの<strong><span class="marker-under-red">「対象」</span></strong>になります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-14.png" alt="" class="wp-image-3861" width="522" height="177" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-14.png 740w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-14-300x102.png 300w" sizes="(max-width: 522px) 100vw, 522px" /></figure>



<p><br>ここでは以下の3つが選択可能です。</p>



<pre class="wp-block-verse">・カレントプロシージャ<br>・カレントモジュール<br>・カレントプロジェクト</pre>



<p>ではそれぞれの範囲を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">・カレントプロシージャ</span></h3>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-9.png" alt="" class="wp-image-3856" width="543" height="346" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-9.png 725w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-9-300x191.png 300w" sizes="(max-width: 543px) 100vw, 543px" /></figure>



<p>こちらは一つのプロシージャの検索・置き換えになります。<br>一つの<strong><span class="marker-under">プロシージャとは「sub プロシージャ名（）」から「End sub」</span></strong>にあたります。<br>なので一つのプログラム内の検索・置き換えを行います。</p>



<p>検索・置き換えを行う際は対象のプロシージャ内をクリックした後、<br>検索または置き換えボタンを押すと対象のプロシージャ内での処理となります。</p>



<h3 class="wp-block-heading"><span id="toc13">・カレントモジュール</span></h3>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-10.png" alt="" class="wp-image-3857" width="559" height="359" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-10.png 720w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-10-300x193.png 300w" sizes="(max-width: 559px) 100vw, 559px" /></figure>



<p>こちらは<strong><span class="marker-under">モジュール内の検索・置き換え</span></strong>を行います。<br>なのでモジュール内に複数のプロシージャがあるとすると<br>対象のモジュール内の全てのプロシージャのソースコードが対象になります。</p>



<h3 class="wp-block-heading"><span id="toc14">・カレントプロジェクト</span></h3>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-11.png" alt="" class="wp-image-3858" width="505" height="360" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/12/image-11.png 647w, https://dokugakuexcel.com/wp-content/uploads/2022/12/image-11-300x214.png 300w" sizes="(max-width: 505px) 100vw, 505px" /></figure>



<p>こちらは<strong><span class="marker-under">対象ファイル全てのソースコードが対象</span></strong>になります。<br><strong><span class="marker-under">モジュールはもちろんのこと、ブック、シートに入力したソースコード</span></strong>が<br>全て検索・置き換え対象です。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/how-to/search-for-text-in-code">コード内のテキストを検索する (VBA) | Microsoft Learn</a></p>



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/how-to/replace-text-in-code">コード内のテキストを置き換える (VBA) | Microsoft Learn</a></p>



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



<p>いかがだったでしょうか。<br>検索・置き換えを活用できればプログラミングが<br>とっても楽になります。</p>



<p>特に一括で置き換えれるのは<br>ソースコードを変更したいときにはとても便利です。</p>



<p></p>



<p>さらに１行から複数行への置き換えの応用もまとめてますので是非参考にしてみてください。</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%911%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9/">【マクロVBA】1行のソースコードを複数行のソースコードに置き換える代用方法について ► 独学エクセル塾 (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%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%81%ae%e6%a4%9c%e7%b4%a2%e3%81%a8%e7%bd%ae%e3%81%8d%e6%8f%9b%e3%81%88%e3%81%ab%e3%81%a4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3846</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>今回は、<strong><span class="marker-under">設定した条件になったときにプログラムを終わらせる・実行中のプロシージャを停止させる方法</span></strong>について紹介します。</p>



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



<p>見本の事例も紹介していますので是非参考にしてみてください。</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-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">&#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>これだけです、<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>構文を見てもらったらわかる通り「Exit Sub」のみで、実行中のプログラムを終えることができます。<br>通常、プログラムを終了させるのは「<strong><span class="marker-under-blue">End Sub</span></strong>」ですよね。</p>



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



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



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



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



<p>では一つ目の事例です。<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>B3に入力してある「数値①」にD3に入力してある「数値②」で割った値を<br>「F3」に出力しています。</p>



<p>簡単なプログラムですが、このようになっています。</p>



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



<p>では実行してみましょう。<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>計算出来ていますね。<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>するとこのような画面が出てきます。</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><strong><span class="marker-under">エラーが出ました</span></strong>。このエラーは文字通り「0で割ったことが原因で出るエラーです。<br>このエラー画面はVBAに慣れている人は見慣れているのでうまく対処できますが、<br>VBAを触ったことがない人がこの画面を見ると戸惑ってしまいます。</p>



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



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



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



<p>では見本のプログラムをみていきましょう。</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>では「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>「数値①、②が空白です」というメッセージと共に<br><strong><span class="marker-under">計算をせずにプログラムが終了</span></strong>しています。</p>



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



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



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



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



<p>「On Error」を詳しい使用方法は下記記事をご覧ください。</p>



<p><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>こちらは先に見本のプログラムを見てみましょう。</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>このようになります。<br>「On Error」の後にある「Goto 任意ラベル」によって<br><strong><span class="marker-under">エラーが起きた際は「任意ラベル」へ飛び、「End Sub」で終了</span></strong>します。</p>



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



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



<p>プログラムはこのようになります。</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>それでは実行してみましょう。</p>



<p>通常の場合はこちら、、、</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>狙い通り計算出来ています。</p>



<p>対して数値が空白の場合、、、</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>「数値①、②が空白です」が表示され、プログラムを終えてくれました。<br>これでエラーが起きた際のプログラム停止が可能になります。</p>



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



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



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



<p>複数人が触るシステムなどには入力し忘れをメッセージで出したりなど<br>活用法は様々です。</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%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>
		<item>
		<title>【マクロVBA】繰り返し処理動作の変数を任意の数値・途中から実行する!For Nextなどにも対応</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%83%87%e3%83%90%e3%83%83%e3%82%b0%e3%80%91%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e5%87%a6%e7%90%86%e3%81%ae%e5%a4%89%e6%95%b0%e3%82%92%e4%bb%bb%e6%84%8f/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2583%2587%25e3%2583%2590%25e3%2583%2583%25e3%2582%25b0%25e3%2580%2591%25e7%25b9%25b0%25e3%2582%258a%25e8%25bf%2594%25e3%2581%2597%25e5%2587%25a6%25e7%2590%2586%25e3%2581%25ae%25e5%25a4%2589%25e6%2595%25b0%25e3%2582%2592%25e4%25bb%25bb%25e6%2584%258f</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%83%87%e3%83%90%e3%83%83%e3%82%b0%e3%80%91%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e5%87%a6%e7%90%86%e3%81%ae%e5%a4%89%e6%95%b0%e3%82%92%e4%bb%bb%e6%84%8f/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 08 Mar 2022 13:36:36 +0000</pubDate>
				<category><![CDATA[基礎知識]]></category>
		<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[FOR]]></category>
		<category><![CDATA[NEXT]]></category>
		<category><![CDATA[繰り返し]]></category>
		<category><![CDATA[デバッグ]]></category>
		<category><![CDATA[変更]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=2371</guid>

					<description><![CDATA[本記事はマクロVBAのデバッグに便利な知識について説明します。今回は「For Next」の繰り返し処理のデバッグについてです。 For Nextの記事についてはこちらから☟ 【VBA知識 7】FOR…NEXTで指定した数 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本記事はマクロVBAのデバッグに便利な知識について説明します。<br>今回は「For Next」の繰り返し処理のデバッグについてです。</p>



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



<p><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知識 7】FOR…NEXTで指定した数値で繰り返し・ループ動作をする。 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>For Nextの繰り返し処理が多い場合はデバッグは大変ですよね。<br>Ｆ8を連打して実行するのも不便ですし、ブレークポイントを使用しても<br>処理するプログラム行は手動で実行しないといけません。</p>



<p>そこで今回はFor Nextの<strong><span class="marker-under">変数の数値を任意の数値に変え、途中から実行する方法</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-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></li><li><a href="#toc2" tabindex="0">■イミディエイトウインドウを使用して変数を変更する</a></li><li><a href="#toc3" tabindex="0">■変数の変更をプログラムに織り込む</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc5" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■見本のプログラム</span></h2>



<p>まず、本記事の内容を紹介するにあたり、見本のプログラムを用意しました。<br>下図をご覧ください。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-41.png" alt="" class="wp-image-2372" width="292" height="431" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-41.png 420w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-41-203x300.png 203w" sizes="(max-width: 292px) 100vw, 292px" /></figure>



<p>3行目から25行目まである、B・C列の数値の和をE列に出力したいと思います。<br>見本でプログラムを作成しました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 数値1と2の和()</p><p>Dim A As Long</p><p>For A = 3 To 25 Step 1<br>Cells(A, 5) = Cells(A, 2) + Cells(A, 3)<br>Next A</p><p>End Sub</p></blockquote>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-42.png" alt="" class="wp-image-2373" width="307" height="456" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-42.png 539w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-42-202x300.png 202w" sizes="(max-width: 307px) 100vw, 307px" /></figure>



<p>狙い通り数値1と2を足すことができました。<br>では本題に移りたいと思います。</p>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-43.png" alt="" class="wp-image-2374" width="381" height="458" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-43.png 579w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-43-249x300.png 249w" sizes="(max-width: 381px) 100vw, 381px" /></figure>



<p>仮に15列目までは確認が取れており、16行目から実行したいと思います。<br>方法としては2つあります。</p>



<p>内容は下記の通りです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>①イミディエイトウインドウを使用して変数を変更する<br>②変数の変更をプログラムに織り込む</strong></p></blockquote>



<p>悩んでない状態でこの記事をご覧になった方は<br>ForのAを16から開始すればいいと思うでしょうが<br>重複した繰り返し処理では本内容の技術が必要になってきます。</p>



<p>それでは見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">■イミディエイトウインドウを使用して変数を変更する</span></h2>



<p>まずは<strong><span class="marker-under-red">イミディエイトウインドウを使用する方法</span></strong>についてです。<br>こちらは現在のプログラムを変更することなく、繰り返し処理の変数を変更できるので<br>おすすめです。</p>



<p>再度プログラムを見ていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 数値1と2の和()</p><p>Dim A As Long</p><p>For A = 3 To 25 Step 1<br>Cells(A, 5) = Cells(A, 2) + Cells(A, 3)<br>Next A</p><p>End Sub</p></blockquote>



<p>まず繰り返し処理の開始位置まで実行します。<br>見本のプログラムでは「Cells(A, 5) = Cells(A, 2) + Cells(A, 3)」までですね。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-44.png" alt="" class="wp-image-2375" width="408" height="178" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-44.png 548w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-44-300x130.png 300w" sizes="(max-width: 408px) 100vw, 408px" /></figure>



<p>現在のAは3からスタートなので最初の「3」になってます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="176" height="104" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-45.png" alt="" class="wp-image-2376"/></figure>



<p>しかし今回は16行目から確認（デバッグ）したいので<br><strong><span class="marker-under-red">繰り返し処理をすることなくA=16にしないといけません</span></strong>。</p>



<p>ここで使用するのは<strong><span class="marker-under">イミディエイトウインドウ</span></strong>です。<br>まず、イミディエイトウインドウを表示します。</p>



<p>表示方法として<strong><span class="marker-under">「Ctrl + G 」</span></strong>または<br>メニューの「<strong><span class="marker-under">表示</span></strong>」から「<strong><span class="marker-under">イミディエイトウインドウ</span></strong>」を押します。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-46.png" alt="" class="wp-image-2377" width="476" height="293" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-46.png 694w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-46-300x185.png 300w" sizes="(max-width: 476px) 100vw, 476px" /></figure>



<p>すると下図のようなウインドウが現れます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-54.png" alt="" class="wp-image-2387" width="424" height="453" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-54.png 740w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-54-281x300.png 281w" sizes="(max-width: 424px) 100vw, 424px" /></figure>



<p>この記事ではイミディエイトウインドウについて詳しくは表示しませんが<br>こちらで変数の変更が可能です。</p>



<p>今回は変数Aの数値を「16」に変更したいので<br><strong><span class="marker-under-blue">「A=16」とイミディエイトウインドウに打ち込みます</span></strong>。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="230" height="134" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-48.png" alt="" class="wp-image-2379"/></figure>



<p>そして<strong><span class="marker-under-blue">「Enter」</span></strong>を押してみましょう。<br>結果はこのようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="176" height="112" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-49.png" alt="" class="wp-image-2380"/></figure>



<p><strong><span class="marker-under-blue">繰り返し処理をしなくても変数を狙いの「16」にすることができました</span></strong>。<br>ではプログラムを全実行してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="582" height="712" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-50.png" alt="" class="wp-image-2381" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-50.png 582w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-50-245x300.png 245w" sizes="(max-width: 582px) 100vw, 582px" /></figure>



<p>16行目から実行できてますね。</p>



<p>この方法はプログラムの変更がなく、動作確認（デバッグ）後もプログラムを元に戻したりなど<br>手戻り作業がないのでとても便利です。</p>



<h2 class="wp-block-heading"><span id="toc3">■変数の変更をプログラムに織り込む</span></h2>



<p>次に<strong><span class="marker-under-red">変数の変更をプログラムに織り込む方法</span></strong>について紹介します。<br>こちらの内容はプログラム変更によって直接変更するため<br>イメージしやすいですが、<strong><span class="marker-under-blue">間違った手順で実行すると無限ループになってしまう</span></strong>ので注意が必要です。<br>イミディエイトウインドウでイメージしにくい方はこちらの方法をご活用ください。</p>



<p>では再度プログラムを見てみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 数値1と2の和()</p><p>Dim A As Long</p><p>For A = 3 To 25 Step 1<br>Cells(A, 5) = Cells(A, 2) + Cells(A, 3)<br>Next A</p><p>End Sub</p></blockquote>



<p>この状態だとAは3からスタートですが動作確認（デバッグ）ではAを16からスタートしたいとします。</p>



<p><strong><span class="marker-under-red">つまりA=16をプログラムに組み込みます</span></strong>。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 数値1と2の和()</p><p>Dim A As Long</p><p>For A = 3 To 25 Step 1<br><strong><span class="bold-red">A = 16</span></strong><br>Cells(A, 5) = Cells(A, 2) + Cells(A, 3)<br>Next A</p><p>End Sub</p></blockquote>



<p>とてもシンプルですね。<br>しかしこのまま全実行すると無限ループになっています。</p>



<p>理由としてFor で　Aを3から25まで実行するはずですが<br><strong><span class="marker-under-blue">Aを16に置き換えて処理を終えてもAが再度16に置き換えるので<br>無限ループになる仕組みです</span></strong>。</p>



<p>なので<strong><span class="marker-under-red">動作確認（デバッグ）方法としてA=16まで実行した後は<br>A=16を無効または削除する必要があります</span></strong>。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="242" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-55-1024x242.png" alt="" class="wp-image-2388" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-55-1024x242.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-55-300x71.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-55-768x182.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-55.png 1120w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>無効または削除した後は全実行で構いません。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-53.png" alt="" class="wp-image-2384" width="370" height="454" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-53.png 582w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-53-245x300.png 245w" sizes="(max-width: 370px) 100vw, 370px" /></figure>



<p>無事、16行目から実行できてますね。</p>



<p></p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/use-the-immediate-window">イミディエイト ウィンドウ (VBA) を使用する | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc5">■まとめ</span></h2>



<p>いかがだったでしょうか。<br>デバッグで繰り返し処理は曲者ですよね。</p>



<p>本記事の内容を活用して、動作確認（デバッグ）を効率よく実行してみてください。<br>変数を直接変更する方法を実行する場合は無限ループになってもいいように保存を先にしておいた方がいいです。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%83%87%e3%83%90%e3%83%83%e3%82%b0%e3%80%91%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e5%87%a6%e7%90%86%e3%81%ae%e5%a4%89%e6%95%b0%e3%82%92%e4%bb%bb%e6%84%8f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2371</post-id>	</item>
		<item>
		<title>【マクロVBA】複数行のソースコードを1行・小数行にまとめて短縮する!:(コロン)の活用について</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-26%e3%80%91%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%921%e8%a1%8c%e3%83%bb%e5%b0%8f%e6%95%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%259f%25a5%25e8%25ad%2598-26%25e3%2580%2591%25e8%25a4%2587%25e6%2595%25b0%25e8%25a1%258c%25e3%2581%25ae%25e3%2583%2597%25e3%2583%25ad%25e3%2582%25b0%25e3%2583%25a9%25e3%2583%25a0%25e3%2582%25921%25e8%25a1%258c%25e3%2583%25bb%25e5%25b0%258f%25e6%2595%25b0</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-26%e3%80%91%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%921%e8%a1%8c%e3%83%bb%e5%b0%8f%e6%95%b0/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 01 Mar 2022 13:49:29 +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=2320</guid>

					<description><![CDATA[前回の記事では長くなったプログラムを改行・複数の行に分ける方法について紹介しました。前回の記事はこちらから☟ 【マクロVBA知識 25】長くなったプログラムを改行・複数の行に分ける方法 ► 独学エクセル塾 (dokuga [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>前回の記事では長くなったプログラムを改行・複数の行に分ける方法について紹介しました。<br>前回の記事はこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-25%e3%80%91%e9%95%b7%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%94%b9%e8%a1%8c%e3%83%bb/?preview_id=2308&amp;preview_nonce=29071d402c&amp;preview=true&amp;_thumbnail_id=2318">【マクロVBA知識 25】長くなったプログラムを改行・複数の行に分ける方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>今回は前回の内容の対称となる<strong><span class="marker-under">複数行のプログラムを1行・小数行にまとめる方法</span></strong>について紹介します。<br>Select Caseなどを使用する中で条件が単純な場合は文字数が少ないのに対し<br>必要となる行は増えてしまいます。</p>



<p>そこで今回は複数に分かれたプログラムを1行・小数行にまとめて<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-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></li><li><a href="#toc2" tabindex="0">■プログラムを1行・小数行にまとめる</a></li><li><a href="#toc3" tabindex="0">■よくあるエラーと対処法について</a><ol><li><a href="#toc4" tabindex="0">・コンパイルエラー：End If に対応するIf ブロックがありません/行頭のみ許されるステートメントです</a></li></ol></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc6" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■見本のプログラムを紹介</span></h2>



<p>まず、内容を紹介するにあたりイメージしやすいように<br>見本の作業とプログラムを用意しました。下図をご覧ください。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="655" height="130" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-10.png" alt="" class="wp-image-2322" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-10.png 655w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-10-300x60.png 300w" sizes="(max-width: 655px) 100vw, 655px" /></figure>



<p>内容としてD3にグーチョキパーを入力すると勝敗がF3に出力されるようにしたいと思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="523" height="292" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-11.png" alt="" class="wp-image-2323" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-11.png 523w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-11-300x167.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-11-120x68.png 120w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-11-160x90.png 160w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-11-320x180.png 320w" sizes="(max-width: 523px) 100vw, 523px" /></figure>



<p>ではプログラムを作成してみましょう。<br>結果は下記の通りです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub じゃんけんの勝敗()</p><p>Dim A As String<br>A = Cells(3, 4) &#8216;自分の出した手</p><p>Select Case A<br>Case Is = &#8220;グー&#8221;<br>Cells(3, 6) = &#8220;あいこ&#8221;<br>Case Is = &#8220;チョキ&#8221;<br>Cells(3, 6) = &#8220;負け&#8221;<br>Case Is = &#8220;パー&#8221;<br>Cells(3, 6) = &#8220;勝ち&#8221;<br>End Select</p><p>End Sub</p></blockquote>



<p>上記プログラムでは<em><span class="marker-under-red">Ｃaseが複数あり、行数が増えてしまっています</span></em>。</p>



<p>ではこちらを小数行にまとめていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">■プログラムを1行・小数行にまとめる</span></h2>



<p>では先ほどのプログラムを実際の図で確認してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="473" height="332" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-12.png" alt="" class="wp-image-2325" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-12.png 473w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-12-300x211.png 300w" sizes="(max-width: 473px) 100vw, 473px" /></figure>



<p>Caseが多く、行数が増えてしまいます。<br>ここで使用するのが<strong><span class="marker-under-blue">「：（コロン）」</span></strong>です。</p>



<p>使用方法は簡単です。<strong><span class="marker-under-blue">1行目と2行目を1つにまとめ、間に「：」を付けるだけ</span></strong>です。<br>例えば<span class="bold-red">A行</span>と<span class="bold-blue">B行</span>があったとすると「<span class="bold-red">A行</span>：<span class="bold-blue">B行</span>」という配置で1行にすることができます。</p>



<p>では先ほどのプログラムを1つのまとめてみましょう。<br>結果はこのようになりました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub コロンを使用したじゃんけんの勝敗()</p><p>Dim A As String<br>A = Cells(3, 4) &#8216;自分の出した手</p><p>Select Case A: Case Is = &#8220;グー&#8221;: Cells(3, 6) = &#8220;あいこ&#8221;: Case Is = &#8220;チョキ&#8221;: Cells(3, 6) = &#8220;負け&#8221;: Case Is = &#8220;パー&#8221;: Cells(3, 6) = &#8220;勝ち&#8221;: End Select</p><p>End Sub</p></blockquote>



<p>実際の図で見てみましょう。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="112" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-13-1024x112.png" alt="" class="wp-image-2326" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-13-1024x112.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-13-300x33.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-13-768x84.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-13-1536x168.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-13.png 1760w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>いかがでしょうか。<br><em><span class="marker-under"><strong>複</strong></span></em><span class="marker-under"><strong>数行のプログラムを1行にまとめることができました</strong></span>。<br>マクロVBAの機能上、行を分けないといけないもので文字数が少ない場合は<br>「：」を使って1行・小数行にまとめてみてください。</p>



<h2 class="wp-block-heading"><span id="toc3">■よくあるエラーと対処法について</span></h2>



<p>ここからは本内容で発生しやすいエラーと対処法について紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">・コンパイルエラー：End If に対応するIf ブロックがありません/行頭のみ許されるステートメントです</span></h3>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="271" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-14-1024x271.png" alt="" class="wp-image-2327" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-14-1024x271.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-14-300x79.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-14-768x203.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-14.png 1126w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>こちらを使用した方は<strong><span class="marker-under-red">If Thenで「：（コロン）」を使用した</span></strong>のでないでしょうか。<br>再度見本を見てみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="655" height="129" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-15.png" alt="" class="wp-image-2328" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-15.png 655w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-15-300x59.png 300w" sizes="(max-width: 655px) 100vw, 655px" /></figure>



<p>内容としてD3にグーチョキパーを入力すると勝敗がF3に出力されるようにしたいと思います。<br>今回はIf Ｔhenで作成してみました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub IFを使用したじゃんけんの勝敗()</p><p>Dim A As String<br>A = Cells(3, 4) &#8216;自分の出した手</p><p>If A = &#8220;グー&#8221; Then<br>Cells(3, 6) = &#8220;あいこ&#8221;<br>ElseIf A = &#8220;チョキ&#8221; Then<br>Cells(3, 6) = &#8220;負け&#8221;<br>ElseIf A = &#8220;パー&#8221; Then<br>Cells(3, 6) = &#8220;勝ち&#8221;<br>End If</p><p>End Sub</p></blockquote>



<p>このプログラムでは正常に機能します。<br>ここで「：（コロン）」を使用して行を短縮してみましょう。</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="1009" height="222" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-16.png" alt="" class="wp-image-2329" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-16.png 1009w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-16-300x66.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-16-768x169.png 768w" sizes="(max-width: 1009px) 100vw, 1009px" /></figure>



<p><strong><span class="marker-under-red">文字が赤くなり、エラーが出てしまいました</span></strong>。</p>



<p>結果として<strong><span class="marker-under-red">「：（コロン）」はIf Thenで使用することはできなくなっています</span></strong>。<br>処理の方は使用できるのですがThenとそれ以降の処理は行を分ける必要があります。</p>



<p>Select Ｃaseは見本の通り使用できるので<br>こちらを使用するのも手ですね。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/library-reference/concepts/getting-started-with-vba-in-office">Office VBA の基礎知識 | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc6">■まとめ</span></h2>



<p>いかがだったでしょうか。<br>プログラムが長くなってしまうと、どこからどこまでがどの処理かわからなくなってしまいます。</p>



<p>その際は「：（コロン）」を使用して行を短縮してみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-26%e3%80%91%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%921%e8%a1%8c%e3%83%bb%e5%b0%8f%e6%95%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2320</post-id>	</item>
		<item>
		<title>【マクロVBA】１行の長いソースコードを改行・複数の行に分ける!アンダーバーの活用法について</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-25%e3%80%91%e9%95%b7%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%94%b9%e8%a1%8c%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%25e7%259f%25a5%25e8%25ad%2598-25%25e3%2580%2591%25e9%2595%25b7%25e3%2581%258f%25e3%2581%25aa%25e3%2581%25a3%25e3%2581%259f%25e3%2583%2597%25e3%2583%25ad%25e3%2582%25b0%25e3%2583%25a9%25e3%2583%25a0%25e3%2582%2592%25e6%2594%25b9%25e8%25a1%258c%25e3%2583%25bb</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-25%e3%80%91%e9%95%b7%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%94%b9%e8%a1%8c%e3%83%bb/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 01 Mar 2022 13:28:39 +0000</pubDate>
				<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[改行]]></category>
		<category><![CDATA[複数行]]></category>
		<category><![CDATA[＿]]></category>
		<category><![CDATA[_]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[マクロ]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=2308</guid>

					<description><![CDATA[プログラムの作成を進めていく中でプログラムが長くなってしまうことはないでしょうか。プログラムが長くなれば入力や確認で手間が増えてしまいます。 そこで今回はプログラムを改行・次の行にわけることでコンパクトに管理しやすいプロ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>プログラムの作成を進めていく中でプログラムが長くなってしまうことはないでしょうか。<br>プログラムが長くなれば入力や確認で手間が増えてしまいます。</p>



<p>そこで今回は<strong><span class="marker-under">プログラムを改行・次の行にわけることで<br>コンパクトに管理しやすいプログラムを作成する方法について紹介したいと思います</span></strong>。</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-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></li><li><a href="#toc2" tabindex="0">■プログラムを改行・次の行に分ける</a></li><li><a href="#toc3" tabindex="0">■よくあるエラーと対処法について</a><ol><li><a href="#toc4" tabindex="0">・コンパイルエラー　修正候補：行番号または行ラベルまたはステートメントまたはステートメントの最後</a></li></ol></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc6" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■見本のプログラムを紹介</span></h2>



<p>まず、内容を紹介するにあたりイメージしやすいように<br>見本の作業とプログラムを用意しました。下図をご覧ください。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="665" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-1-1024x665.png" alt="" class="wp-image-2309" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-1-1024x665.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-1-300x195.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-1-768x499.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-1.png 1309w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>内容としてB4からC15の範囲をコピーして<br>E4を先頭に貼り付けを行います。</p>



<p>さらにその中の条件として</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong><br>①値のみ貼り付け<br>②貼り付けによる計算は行わない<br>③列と行を入れ替える</strong></p></blockquote>



<p><br>の条件を元に貼り付けを行いたいと思います。</p>



<h2 class="wp-block-heading"><span id="toc2">■プログラムを改行・次の行に分ける</span></h2>



<p>こちらを満たすプログラムを作成してみました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub データのコピーペースト()</p><p>Range(&#8220;B4:C15&#8221;).Copy<br>Range(&#8220;E4&#8221;).PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, Transpose:=True</p><p>End Sub</p></blockquote>



<p>貼り付けの条件が多い為<strong><span class="marker-under-red">プログラムは長くなってしまい、<br>モニターを分割して表示していると1部隠れてしまいます</span></strong>。</p>



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



<p>これではプログラムの入力もしにくく、確認作業（デバッグ）時も手間がかかってしまいます。</p>



<p>では悪い例でEnterキーで改行してみましょう。<br>結果はこのようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="436" height="241" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-3.png" alt="" class="wp-image-2311" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-3.png 436w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-3-300x166.png 300w" sizes="(max-width: 436px) 100vw, 436px" /></figure>



<p><strong><span class="marker-under-red">式が成り立たずに「コンパイルエラー」が発生</span></strong>してしまいました。<br>さらにプログラムも赤文字になり、エラー個所であることがわかります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="659" height="223" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-4.png" alt="" class="wp-image-2312" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-4.png 659w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-4-300x102.png 300w" sizes="(max-width: 659px) 100vw, 659px" /></figure>



<p>ここで本題の対策です。<br>使用するのは<strong><span class="marker-under">「　_(スペース＆アンダーバー）」</span></strong>です。</p>



<p>使用方法は改行したい位置で<strong><span class="marker-under">「&#8221;　_&#8221;」</span></strong>を入力します。<br>では見本のプログラムに組み込んでみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub データのコピーペースト()</p><p>Range(&#8220;B4:C15&#8221;).Copy<br>Range(&#8220;E4&#8221;).PasteSpecial xlPasteValues _<br>, xlPasteSpecialOperationNone _<br>, Transpose:=True</p><p>End Sub</p></blockquote>



<p>長いプログラムを複数行にすることができました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="661" height="224" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-5.png" alt="" class="wp-image-2313" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-5.png 661w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-5-300x102.png 300w" sizes="(max-width: 661px) 100vw, 661px" /></figure>



<p>実際に打ち込んでもエラーになりませんね。<br>もちろん、この状態で実行することができます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-6.png" alt="" class="wp-image-2314" width="769" height="241" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-6.png 931w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-6-300x94.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-6-768x241.png 768w" sizes="(max-width: 769px) 100vw, 769px" /></figure>



<p>注意点として「&#8217;（アポストロフィー)」を用いてコメントを入力できるのは<br>最終行のみです。途中で入力してもエラーになってしまいます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="791" height="209" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-7.png" alt="" class="wp-image-2315" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-7.png 791w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-7-300x79.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-7-768x203.png 768w" sizes="(max-width: 791px) 100vw, 791px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">■よくあるエラーと対処法について</span></h2>



<p>ここからは本内容で発生しやすいエラーと対処法について紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">・コンパイルエラー　修正候補：行番号または行ラベルまたはステートメントまたはステートメントの最後</span></h3>



<figure class="wp-block-image size-full"><img decoding="async" width="786" height="308" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-8.png" alt="" class="wp-image-2316" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-8.png 786w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-8-300x118.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-8-768x301.png 768w" sizes="(max-width: 786px) 100vw, 786px" /></figure>



<p>こちらのエラーは<strong><span class="marker-under-red">「_(アンダーバー）」の前に「　（スペース）」がない</span></strong>ことが考えられます。<br>下図をご覧ください。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="666" height="374" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-9.png" alt="" class="wp-image-2317" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-9.png 666w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-9-300x168.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-9-120x68.png 120w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-9-160x90.png 160w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-9-320x180.png 320w" sizes="(max-width: 666px) 100vw, 666px" /></figure>



<p>正常なプログラムは「　<em>(スペース＆アンダーバー）」がセットで入力されていますが エラーが発生するプログラムは「</em>(アンダーバー）」のみとなっています。</p>



<p>こちらの異常が発生した際は<strong><span class="marker-under-blue">「　_(スペース＆アンダーバー）」のセットをご確認下さい</span></strong></p>



<p></p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/overview/excel">Excel Visual Basic for Applications (VBA) リファレンス | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc6">■まとめ</span></h2>



<p>いかがだったでしょうか。<br>今回の見本はあまり長くありませんでしたが<br>使用する機能によっては、とても長くなるので今回の内容を参考にしてみてください。</p>



<p>Ifで条件分岐する際にAndを用いて複数使用する場合は長くなるので活用できますね。<br>次回は本内容の対称となる「プログラムを1行にまとめる方法」について紹介したいと思います。</p>



<p>次回の記事はこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-26%e3%80%91%e8%a4%87%e6%95%b0%e8%a1%8c%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%921%e8%a1%8c%e3%83%bb%e5%b0%8f%e6%95%b0/">【マクロVBA知識 26】複数行のプログラムを1行・小数行にまとめて短縮する方法 ► 独学エクセル塾 (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%e7%9f%a5%e8%ad%98-25%e3%80%91%e9%95%b7%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%94%b9%e8%a1%8c%e3%83%bb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2308</post-id>	</item>
		<item>
		<title>【マクロVBA】GoToでプログラムを指定した場所・ラベルまで飛ばす方法について!エラーの原因も解説</title>
		<link>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-11%e3%80%91goto%e3%81%a7%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e5%a0%b4%e6%89%80%e3%81%be%e3%81%a7%e9%a3%9b%e3%81%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590vba%25e7%259f%25a5%25e8%25ad%2598-11%25e3%2580%2591goto%25e3%2581%25a7%25e3%2583%2597%25e3%2583%25ad%25e3%2582%25b0%25e3%2583%25a9%25e3%2583%25a0%25e3%2582%2592%25e6%258c%2587%25e5%25ae%259a%25e3%2581%2597%25e3%2581%259f%25e5%25a0%25b4%25e6%2589%2580%25e3%2581%25be%25e3%2581%25a7%25e9%25a3%259b%25e3%2581%25b0</link>
					<comments>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-11%e3%80%91goto%e3%81%a7%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e5%a0%b4%e6%89%80%e3%81%be%e3%81%a7%e9%a3%9b%e3%81%b0/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 06 Jul 2021 12:24:14 +0000</pubDate>
				<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[GoTo]]></category>
		<category><![CDATA[飛ばす]]></category>
		<category><![CDATA[指定した位置]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=504</guid>

					<description><![CDATA[設定した条件や場面によってプログラムを飛ばして 別の処理プログラムを読み取りたいと思ったことはないでしょうか。 ループを抜け出す際にも使用できます。 今回は、そんな時に使えるGoToについて説明します。 IFなどに合わせ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>設定した条件や場面によってプログラムを飛ばして</p>



<p>別の処理プログラムを読み取りたいと思ったことはないでしょうか。</p>



<p>ループを抜け出す際にも使用できます。</p>



<p>今回は、そんな時に使える<strong><span class="marker-under">GoToについて説明</span></strong>します。</p>



<p>IFなどに合わせるととても便利です。</p>



<p></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">■GoTo の構造</a></li><li><a href="#toc2" tabindex="0">■実践</a><ol><li><a href="#toc3" tabindex="0">・通常時にプログラムを指定ラベル・位置まで飛ばす</a></li><li><a href="#toc4" tabindex="0">・ループ中にプログラムを指定ラベル・位置まで飛ばす</a></li></ol></li><li><a href="#toc5" tabindex="0">■よくあるエラーと対処法</a><ol><li><a href="#toc6" tabindex="0">・コンパイルエラー：行ラベルが定義されていません</a></li><li><a href="#toc7" tabindex="0">・コンパイルエラー：　修正候補：行番号　または　行ラベル</a><ol><li><a href="#toc8" tabindex="0">①変数名やプログラムで使用する用語</a></li><li><a href="#toc9" tabindex="0">②使用できない記号が含まれている</a></li></ol></li></ol></li><li><a href="#toc10" tabindex="0">■公式の説明</a></li><li><a href="#toc11" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■GoTo の構造</span></h2>



<p>まずは構造から見ていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong><span class="fz-22px"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-red-color">GoTo <span class="bold-red">○○</span></mark></span></strong></p><p><strong><span class="fz-22px">&#8216;処理①</span></strong></p><p><strong><span class="fz-22px"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-indigo-color"><span class="bold-red">○○</span>:</mark></span></strong></p><p><strong><span class="fz-22px">&#8216;処理②</span></strong></p></blockquote>



<p><span class="fz-24px"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-red-color">GoTo　<span class="bold-red">○○</span>の説明</mark></strong></span></p>



<p><strong><span class="marker-under">GoToの後に飛ばしたい位置のラベル</span><span class="marker-under">・</span><span class="marker-under">名前を付けます</span></strong>。<br>「A」でも「1」でも「あ」でも構いません。</p>



<p><span class="fz-24px"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-indigo-color"><span class="bold-red">○○</span>:の説明</mark></strong></span></p>



<p><strong><span class="marker-under">プログラムを飛ばしたい先の前の行に入れます</span></strong>。<br>この時の○○はGoToでつけたラベル・名前と合わせます。<br>なのでGoTo <span class="bold-red">TTT</span> ですと　飛ばす先の前の行は「<span class="bold-red">TTT</span>:」となります。</p>



<p>上記の見本を見てみますと処理①飛ばして<br>処理②に飛ぶようになりますね。</p>



<p></p>



<p>こちらはIFのような条件分岐とは異なり、強制的に分岐が実行できます。</p>



<p></p>



<h2 class="wp-block-heading"><span id="toc2">■実践</span></h2>



<p></p>



<p>それでは実践です。2つのパターンを紹介していますので使い分けてください。</p>



<h3 class="wp-block-heading"><span id="toc3">・通常時にプログラムを指定ラベル・位置まで飛ばす</span></h3>



<p>下図のシートを用意しました。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="495" height="98" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-53.png" alt="" class="wp-image-505" srcset="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-53.png 495w, https://dokugakuexcel.com/wp-content/uploads/2021/07/image-53-300x59.png 300w" sizes="(max-width: 495px) 100vw, 495px" /></figure>



<p>B3にAかBを打つと・・・</p>



<figure class="wp-block-image size-large"><img decoding="async" width="484" height="204" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-54.png" alt="" class="wp-image-506" srcset="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-54.png 484w, https://dokugakuexcel.com/wp-content/uploads/2021/07/image-54-300x126.png 300w" sizes="(max-width: 484px) 100vw, 484px" /></figure>



<p>「Aの処理」「Bの処理」が出力される仕組みを作ってみます。</p>



<p>仮に下図のようなプログラムを組んだとしましょう。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="258" height="248" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-55.png" alt="" class="wp-image-507"/></figure>



<p>B3がAですとIFは条件に合わないためEnd Ifに飛ぶので「Aの処理」と出力されるようにしています。<br>しかし、B3がA以外だと「Bの処理」と1回出力されるものの<br>その後の「Cells(3, 4) = &#8220;Aの処理&#8221;」を読み込んでしまい、結果的に「Aの処理」となってしまいます。</p>



<p>つまり、<span class="marker-under"><strong>B</strong></span><strong><span class="marker-under">の処理の時は「Cells(3, 4) = &#8220;Aの処理&#8221;」を飛ばさなくてはなりません</span>。</strong></p>



<p></p>



<figure class="wp-block-image size-large"><img decoding="async" width="542" height="248" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-56.png" alt="" class="wp-image-508" srcset="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-56.png 542w, https://dokugakuexcel.com/wp-content/uploads/2021/07/image-56-300x137.png 300w" sizes="(max-width: 542px) 100vw, 542px" /></figure>



<p></p>



<p>ここでGoToを使用してみましょう！<br>Elseを使えば解決するのですが、見本なので使ってみます。</p>



<p>つまり「Cells(3, 4) = &#8220;Bの処理&#8221;」<br>を読み込んだ後にEnd Subまで飛ばしましょう。</p>



<p>つまり下図のようになります。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="274" height="278" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-57.png" alt="" class="wp-image-509" srcset="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-57.png 274w, https://dokugakuexcel.com/wp-content/uploads/2021/07/image-57-100x100.png 100w" sizes="(max-width: 274px) 100vw, 274px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Gotoの使い方()</p><p>If Cells(3, 2) &lt;&gt; &#8220;A&#8221; Then</p><p>Cells(3, 4) = &#8220;Bの処理&#8221;</p><p><span class="marker-under-red">GoTo<span class="bold-red"> 1</span></span></p><p>End If</p><p>Cells(3, 4) = &#8220;Aの処理&#8221;</p><p><span class="marker-under-red"><span class="bold-red">1</span>:</span></p><p>End Sub</p></blockquote>



<p>これにより「Bの処理」を打ち込んだ後にEnd Subに飛ぶので<br>「Aの処理」で上書きすることはないです。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="484" height="204" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-58.png" alt="" class="wp-image-510" srcset="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-58.png 484w, https://dokugakuexcel.com/wp-content/uploads/2021/07/image-58-300x126.png 300w" sizes="(max-width: 484px) 100vw, 484px" /></figure>



<p>実行してもうまく機能してくれています。</p>



<p></p>



<h3 class="wp-block-heading"><span id="toc4">・ループ中にプログラムを指定ラベル・位置まで飛ばす</span></h3>



<p>さらに<strong><span class="marker-under">GoToはループ処理から抜け出すこともできます。</span></strong></p>



<p>下記のようなプログラムがあったとします。</p>



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ループから抜け出す()</p><p>Dim A As Long</p><p>For A = 1 To 100 Step 1</p><p>If Cells(A, 1) = &#8220;&#8221; Then<br>GoTo <span class="bold-red">Loop終了</span><br>End If</p><p>Cells(A, 2) = Cells(A, 1) * 2</p><p>Next A</p><p><span class="bold-red">Loop終了</span>:<br>End Sub</p></blockquote>



<p></p>



<p>A列に「2」をかけた数値をB列に算出するプログラムです。</p>



<p>見本では１００行まで繰り返し実行するようになってますが、空白になったらプログラムを</p>



<p>終えるようにプログラミングしています。</p>



<p></p>



<p>仕組みとしてIFで条件分岐をしており、対象が空白なら</p>



<p><strong><span class="marker-under">GoToで「<span class="bold-red">Loop終了</span>」に飛ぶ</span></strong>ようになってます。</p>



<p>「Loop終了」はEnd Subにつながっており、強制終了するようになってます。</p>



<p></p>



<h2 class="wp-block-heading"><span id="toc5">■よくあるエラーと対処法</span></h2>



<p>ではGOTOを使用して発生するエラーとそれに対する対処法を説明します。</p>



<p></p>



<h3 class="wp-block-heading"><span id="toc6">・コンパイルエラー：行ラベルが定義されていません</span></h3>



<p>こちらは<strong><span class="marker-under">GOTOに対しての移動先が存在しない場合に発生するエラー</span></strong>です。</p>



<p>たとえは「GoTo ABC」というプログラムに対し、「ABC:」という移動先が必要です。</p>



<p></p>



<p>このようなエラーが出た方は移動先が入力されているか確認してみてください。</p>



<p></p>



<h3 class="wp-block-heading"><span id="toc7">・コンパイルエラー：　修正候補：行番号　または　行ラベル</span></h3>



<p></p>



<p>このエラーが表示された方はGoToを入力した際に表示されたかと思います。</p>



<p>GoToには多少の規制がありますので下記にまとめました。</p>



<p></p>



<h4 class="wp-block-heading"><span id="toc8">①変数名やプログラムで使用する用語</span></h4>



<p>こちらも知らなければエラーの原因となります。</p>



<p>例えば変数で使用される「Variant」や「String」などの名前で作成している場合や</p>



<p>条件分岐で使用する「If」や繰り返しで使用する「For」などで名前を付けている場合は</p>



<p>エラーになってしまいます。</p>



<p></p>



<p>上記のような用語を使用したい場合は何でもいいので<strong><span class="marker-under-blue">文字・数値を加えてください</span></strong>。</p>



<p>例えば「GoTo Variant」であれば「GoTo Varianpt123」のように</p>



<p>文字・数値を付け加えると使用できます。</p>



<p></p>



<h4 class="wp-block-heading"><span id="toc9">②使用できない記号が含まれている</span></h4>



<p><strong><span class="marker-under-blue">名前に使用できない記号も存在します</span></strong>。</p>



<p>「スペース」のほかに「＠」「＆」「＃」などが含まれているとエラーになってしまいます。</p>



<p>私もすべて把握はしていませんが、エラーが発生した場合に</p>



<p>記号を含んでいる場合は取り除いてみてください。</p>



<p></p>



<p></p>



<h2 class="wp-block-heading"><span id="toc10">■公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが</p>



<p>マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>



<p><a href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/goto-statement">GoTo ステートメント (VBA) | Microsoft Docs</a></p>



<p></p>



<h2 class="wp-block-heading"><span id="toc11">■まとめ</span></h2>



<p></p>



<p>いかがだったでしょうか。</p>



<p>GoTOを使いこなせば処理方法を分岐できるようになり、<br>様々なパターンに対応できるようになります。</p>



<p></p>



<p>さらにはエラーが生じると指定位置まで飛ぶような方法もありますので</p>



<p>別の記事で説明したいと思います。</p>



<p></p>



<p>では次回の記事でお会いしましょう。記事はこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-12%e3%80%91%e5%88%a5%e3%81%ae%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e9%81%b8%e6%8a%9e%e3%81%99%e3%82%8b%e6%96%b9/">【VBA知識 12】別のシートをアクティブ・選択する方法について ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-11%e3%80%91goto%e3%81%a7%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e5%a0%b4%e6%89%80%e3%81%be%e3%81%a7%e9%a3%9b%e3%81%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">504</post-id>	</item>
	</channel>
</rss>
