<?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>Loop  |  独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/tag/loop/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sat, 15 Oct 2022 14:15:14 +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>Loop  |  独学エクセル塾</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】Do…Loopで指定条件まで繰り返し・ループする!WhileとUntilの違いとは</title>
		<link>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-8%e3%80%91doloop%e3%81%a7%e6%9d%a1%e4%bb%b6%e3%81%be%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc%e3%83%97%e5%8b%95%e4%bd%9c%e3%82%92/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590vba%25e7%259f%25a5%25e8%25ad%2598-8%25e3%2580%2591doloop%25e3%2581%25a7%25e6%259d%25a1%25e4%25bb%25b6%25e3%2581%25be%25e3%2581%25a7%25e7%25b9%25b0%25e3%2582%258a%25e8%25bf%2594%25e3%2581%2597%25e3%2583%25bb%25e3%2583%25ab%25e3%2583%25bc%25e3%2583%2597%25e5%258b%2595%25e4%25bd%259c%25e3%2582%2592</link>
					<comments>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-8%e3%80%91doloop%e3%81%a7%e6%9d%a1%e4%bb%b6%e3%81%be%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc%e3%83%97%e5%8b%95%e4%bd%9c%e3%82%92/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Sun, 04 Jul 2021 01:44:37 +0000</pubDate>
				<category><![CDATA[繰り返し]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ループ]]></category>
		<category><![CDATA[Do]]></category>
		<category><![CDATA[Loop]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=459</guid>

					<description><![CDATA[VBAでプログラミングをするうえで繰り返し動作が必要な場面が出てくると思います。例えば100行連続で処理内容が一緒だった場合、100行分の処理プログラムが必要になります。 それでは日が暮れてしまうので繰り返し動作のDo  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAでプログラミングをするうえで<strong><span class="marker-under">繰り返し動作</span></strong>が必要な場面が出てくると思います。<br>例えば100行連続で処理内容が一緒だった場合、<br>100行分の処理プログラムが必要になります。</p>



<p>それでは日が暮れてしまうので繰り返し動作のDo Loopを身につけると作業がグッと楽になります。</p>



<p>繰り返す回数が決まっているのであればFor…Nextが有効です。<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で指定した数値で繰り返し・ループ動作をする。 &#8211; 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>回数が決まってないのであれば指定した条件まで実行するループ動作が必要です。</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-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">・Whileのプログラム（条件未達成で終了）</a></li><li><a href="#toc3" tabindex="0">・Untilのプログラム（条件達成で終了）</a></li></ol></li><li><a href="#toc4" tabindex="0">■Do Loop の構造</a></li><li><a href="#toc5" tabindex="0">■Do Loop の見本</a></li><li><a href="#toc6" tabindex="0">■実践</a></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc8" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■忙しい人向けのコピペ用プログラム</span></h2>



<p><span class="bold-red">赤字</span>の「<span class="bold-red">ここに条件を入力</span>」をカスタムして使用してください</p>



<h3 class="wp-block-heading"><span id="toc2">・Whileのプログラム（条件未達成で終了）</span></h3>



<pre class="wp-block-verse">Sub 条件未達成で終了する繰り返し動作()
Do While <span class="bold-red">ここに条件を入力</span>
'…ループ処理したいプログラム
Loop
End Sub</pre>



<h3 class="wp-block-heading"><span id="toc3">・Untilのプログラム（条件達成で終了）</span></h3>



<pre class="wp-block-verse">Sub 条件達成で終了する繰り返し動作()
Do Until <span class="bold-red">ここに条件を入力</span>
'…ループ処理したいプログラム
Loop
End Sub</pre>



<h2 class="wp-block-heading"><span id="toc4">■Do Loop の構造</span></h2>



<p></p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><span class="fz-24px"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-red-color">Do&nbsp;<span class="bold-blue">While or Until</span>&nbsp;</mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-teal-color"> <span class="bold-red">ループ条件</span></mark></strong></span></p><p>&#8216;…ループ処理したいプログラム</p><p><span class="fz-24px"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-indigo-color"><strong>Loop</strong></mark></span></p></blockquote>



<p><span class="fz-24px"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-red-color"><span class="marker-under"><span class="bold-red">While</span>と<span class="bold-red">Until</span>の違い</span></mark></strong></span></p>



<p><strong><span class="bold-red">While</span>…条件をみたしてなければ終了。<br><span class="bold-red">Until</span>…条件を満たしたら終了。</strong></p>



<p>こちらは条件次第で変えれるのでイメージしやすい方でいいです。</p>



<p></p>



<p><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-teal-color"><span class="fz-24px"><strong><span class="marker-under">ループ条件</span></strong></span></mark></p>



<p>こちらは「＝」などの等式、「＞」などの不等号などを使用して条件を設定してください。</p>



<p></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="marker-under">Loop</span></mark></strong></span></p>



<p>Do…から宣言した繰り返しの終点です。<br>つまりDoからLoopまでを繰り返します。</p>



<p></p>



<h2 class="wp-block-heading"><span id="toc5">■Do Loop の見本</span></h2>



<p></p>



<p>見本で例を作成しました。☟</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Do Loopでの繰り返し動作()</p><p>Dim A As Long</p><p>A=1</p><p>Do <span class="bold-red">Until</span> <span class="bold-blue">Cells(A,1)=&#8221;&#8221;</span></p><p>&#8216;ここに処理</p><p>A=A+1</p><p>Loop</p><p>End Sub</p></blockquote>



<p>これを読み解くと、、、<br>A行にデータが連続であったとすると<br><strong><span class="marker-under-blue">A行のデータが<span class="bold-red">なくなるまで</span>処理を続けるプログラム</span></strong>になります。</p>



<p></p>



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



<p></p>



<p>それでは実践です。<br>見本で下図のシートを用意しました。</p>



<p></p>



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



<p></p>



<p>A行に数値が並んでいる状態で<br>空白になるまで掛け算をしたいと思います。</p>



<p>Ｃ1には「1<em>5」。Ｃ2には「2</em>5」….のように続いていきます。</p>



<p>A列を<span class="bold-red">空白になるまで</span>処理を進めるプログラムを作る場合はこのようになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Do <span class="bold-red">Until</span> <span class="bold-blue">Cells(A, 1) = &#8220;&#8221;</span></p></blockquote>



<p><br>AはLoopするたび1行下にずれてほしいので<br>A=A+1<br>をループ内に挟みます。</p>



<p>つぎに処理です。</p>



<p>書き込みたい行は変数で変わるため「A」です。<br>行は3行目なので「Cells(A,2)」となります。<br>あとは1行目と5をかけるので…</p>



<p>Cells(A, 2) = Cells(A, 1) * Cells(2, 7)</p>



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



<p>最後にLoopで繰り返しの終点を決めましょう。</p>



<p></p>



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



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ForNextでの繰り返し動作()</p><p></p><p>Dim A As Long</p><p>A = 1</p><p>Do Until Cells(A, 1) = &#8220;&#8221;</p><p>　&#8217;ここから繰り返し動作</p><p>　Cells(A, 2) = Cells(A, 1) * Cells(2, 7)</p><p>　A = A + 1</p><p>　&#8217;ここまで繰り返し動作</p><p>Loop</p><p></p><p>End Sub</p><p></p></blockquote>



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



<p>実行すると…</p>



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



<p></p>



<p>うまく計算できてますね。<br>WhileとUntilで使い分けて条件を設定してみてください。</p>



<p></p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/using-doloop-statements">Do&#8230;Loop ステートメント (VBA) を使用する | Microsoft Learn</a></p>



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



<p></p>



<p>いかがだったでしょうか。<br>ForNextとは異なった繰り返しになります。</p>



<p>作成するプログラムに応じて使い分けてみてください。</p>



<p>次回は条件分岐のIf Then について説明しています。次回の記事はこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-9%e3%80%91if-then%e3%81%a7%e6%9d%a1%e4%bb%b6%e5%88%86%e5%b2%90%e3%83%bb%e5%88%a4%e5%88%a5%e3%82%92%e3%81%99%e3%82%8b%e2%97%8b%e2%97%8b%e3%81%aa%e3%82%89/">【マクロ・VBA知識 9】If …Thenで条件分岐・判別をする(○○なら△△) ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p></p>



<p>それでは次回の記事でお会いしましょう。</p>



<p></p>



<p></p>



<p class="has-text-align-center"></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-8%e3%80%91doloop%e3%81%a7%e6%9d%a1%e4%bb%b6%e3%81%be%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc%e3%83%97%e5%8b%95%e4%bd%9c%e3%82%92/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">459</post-id>	</item>
	</channel>
</rss>
