<?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>マクロ・VBA  |  独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/category/%E3%83%9E%E3%82%AF%E3%83%ADvba/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Thu, 20 Jul 2023 17:30:52 +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>マクロ・VBA  |  独学エクセル塾</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練習問題23】文字・数値のみのデータのみカウント！数式や空白を判定して除外する</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c23%e3%80%91%e6%96%87%e5%ad%97%e3%83%bb%e6%95%b0%e5%80%a4%e3%81%ae%e3%81%bf%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c23%25e3%2580%2591%25e6%2596%2587%25e5%25ad%2597%25e3%2583%25bb%25e6%2595%25b0%25e5%2580%25a4%25e3%2581%25ae%25e3%2581%25bf%25e3%2581%25ae%25e3%2583%2587%25e3%2583%25bc%25e3%2582%25bf%25e3%2581%25ae</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 20 Jul 2023 17:30:52 +0000</pubDate>
				<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[IsText]]></category>
		<category><![CDATA[IsNumber]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[IsNumeric]]></category>
		<category><![CDATA[IsEmpty]]></category>
		<category><![CDATA[HasFormula]]></category>
		<category><![CDATA[VarType]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4501</guid>

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

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題23について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>今回は文字・数値のみのデータのみカウントし、数式や空白を判定して除外するする練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>ル番地A1からA10までのセルのうち、<span class="marker-under"><strong>文字・数値のみが含まれているセルの個数を数え、その個数をセル番地C2に表示</strong></span>する。</p>
<p><img fetchpriority="high" decoding="async" width="980" height="500" class="alignnone wp-image-4502 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-71.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-71.png 980w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-71-300x153.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-71-768x392.png 768w" sizes="(max-width: 980px) 100vw, 980px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>VBAを使用して、指定された範囲のセルを調査し、文字や数値が含まれているセルの個数を数えます。</p>
<p>その結果をセル番地C1に表示します。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>条件分岐を使用して、<span class="marker-under"><strong>セルの内容が文字や数値を含んでいるかを判定</strong></span>します。<br />条件式を使って、文字や数値が含まれている場合にカウントを増やします。</p>
<p>一例を紹介します。</p>
<div class="blank-box sticky st-blue"><strong>数値の判定：①IsNumeric(<span style="color: #ff0000;">判定対象</span>) ・・・空白・数式で計算した数値を含める</strong><br /><strong>　　　　　　②WorksheetFunction.IsNumber(<span style="color: #ff0000;">判定対象</span>) ・・・数式で計算した数値を含める</strong></div>
<div class="blank-box sticky st-blue"><strong>文字の判定：①VarType(<span style="color: #ff0000;">判定対象</span>) = vbString・・・文字・数値・数式で計算した文字・数値を含める</strong><br /><strong>　　　　　　②WorksheetFunction.IsText(<span style="color: #ff0000;">判定対象</span>)・・・文字・数式で計算した文字を含める</strong></div>
<div class="blank-box sticky st-blue"><strong>空白の判定：①IsEmpty(<span style="color: #ff0000;">判定対象</span>) </strong></div>
<div class="blank-box sticky st-blue"><strong>数式の判定：①<span style="color: #ff0000;">判定対象</span>.HasFormula</strong></div>
<div>数値・文字の判定でもそれぞれ特徴があるので注意が必要です。</div>
<div> </div>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc9">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc10">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise23to1()<br /> Dim <strong><span style="color: #0000ff;">rng</span></strong> As Range<br /> Dim <strong><span style="color: #ff0000;">cell</span> </strong>As Range<br /> Dim <strong><span style="color: #339966;">count</span> </strong>As Integer<br /><br />&#8216; ソース範囲を設定<br />Set <strong><span style="color: #0000ff;">rng </span></strong>= Range(&#8220;A1:A10&#8221;)<br /><br />&#8216; カウンターを初期化<br /><strong><span style="color: #339966;">count</span> </strong>= 0<br /><br />&#8216; 各セルをチェックして文字列または数値のみをカウント<br />For Each <strong><span style="color: #ff0000;">cell</span> </strong>In <strong><span style="color: #0000ff;">rng</span></strong><br />&#8216; 空白または数式のセルを除外<br />  If Not IsEmpty(<strong><span style="color: #ff0000;">cell</span></strong>.value) And Not <strong><span style="color: #ff0000;">cell</span></strong>.HasFormula Then<br />&#8216; 文字列または数値のみをカウント<br />    If IsNumeric(<strong><span style="color: #ff0000;">cell</span></strong>.value) Or VarType(<strong><span style="color: #ff0000;">cell</span></strong>.value) = vbString Then<br />      <strong><span style="color: #339966;">count</span> </strong>= <strong><span style="color: #339966;">count</span> </strong>+ 1<br />    End If<br />End If<br />Next <strong><span style="color: #ff0000;">cell</span> </strong><br /><br />&#8216; 結果を表示<br />Range(&#8220;C2&#8221;).value = <strong><span style="color: #339966;">count</span> </strong></p>
<p><br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードは、セル番地A1からA10までのセルのうち、文字や数値が含まれているセルの個数を数え、<br />その結果をセル番地B1に表示するVBAのマクロです</p>
</div>
<div class="st-yellow blank-box sticky">
<p><span class="marker-under"><strong>コードの解説</strong></span><br />1. Dim count As Integerによって、カウントを格納するための変数countを宣言します。<br />2. count = 0で、カウントの初期値を0に設定します。<br />3. For Each cell In <strong><span style="color: #0000ff;">rng</span></strong>で、セル番地A1からA10までの範囲をループ処理します。<br />4. [If Not IsEmpty(<strong><span style="color: #ff0000;">cell</span></strong>.value) And Not <strong><span style="color: #ff0000;">cell</span></strong>.HasFormula Then]で、空白または数式のセルを除外します。<br />5. [If IsNumeric(<strong><span style="color: #ff0000;">cell</span></strong>.value) Or VarType(<strong><span style="color: #ff0000;">cell</span></strong>.value) = vbString Then]でセルの内容が数値または文字列であるかを判定します。<br />　 条件を満たす場合、カウントを増やします。<br />6. Next cellでループを次に進めます。<br />7. Range(&#8220;C2&#8221;).Value = countで、カウント結果をセル番地C2に表示します。</p>
</div>
<div class="st-yellow">
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="401" height="440" class="alignnone wp-image-4503 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-72.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-72.png 401w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-72-273x300.png 273w" sizes="(max-width: 401px) 100vw, 401px" /></p>
<p><span class="marker-under"><strong>文字・数値のみカウントすることが出来ていますね。</strong></span><br /><br /></p>
</div>
<h3><span id="toc11">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise23to2()<br />　Dim rng As Range<br />　Dim cell As Range<br />　Dim count As Integer<br /><br />&#8216; ソース範囲を設定<br />Set rng = Range(&#8220;A1:A10&#8221;)<br /><br />&#8216; カウンターを初期化<br />count = 0<br /><br />&#8216; 各セルをチェックして文字列または数値のみをカウント<br />For Each cell In rng<br />&#8216; 空白または数式のセルを除外<br />　If Not IsEmpty(cell.value) And Not <strong><span class="marker-under">cell.HasFormula</span></strong> Then<br />&#8216; 文字列または数値のみをカウント<br />　　If <span class="marker-under-red"><strong>WorksheetFunction.IsNumber(cell.value)</strong></span> Or <strong><span class="marker-under-blue">WorksheetFunction.IsText(cell.value) </span></strong>Then<br />　　　count = count + 1<br />　　End If<br />　End If<br />Next cell<br /><br />&#8216; 結果を表示<br /><br />Range(&#8220;B1&#8221;).value = count<br />End Sub</p>
</div>
<div>
<p>動作は一緒ですが、判断に使用するソースコードが異なります。</p>
<p>今回は数式の判別に「<strong><span class="marker-under">cell.HasFormula</span></strong> 」を使用し、<br />数値を「<span class="marker-under-red"><strong>WorksheetFunction.IsNumber(cell.value)</strong></span>」、文字を「<strong><span class="marker-under-blue">WorksheetFunction.IsText(cell.value) </span></strong>」で判定しています。</p>
<p>判定するコードも複数あるので特徴を理解して使用してください。</p>
</div>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc12">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc13">数値の判定</span></h3>
<p><strong>IsNumeric関数</strong>または<strong>WorksheetFunction.IsNumber</strong>を使用して数値であるか判断します。<br />しかし、<span class="marker-under"><strong>IsNumeric関数は空白を含める特徴</strong></span>があります</p>
<div class="blank-box sticky st-blue"><strong>数値の判定：①IsNumeric(<span style="color: #ff0000;">判定対象</span>) ・・・空白・数式で計算した数値を含める</strong><br /><strong>　　　　　　②WorksheetFunction.IsNumber(<span style="color: #ff0000;">判定対象</span>) ・・・数式で計算した数値を含める</strong></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91isnumeric%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%95%b0%e5%80%a4%e5%88%a4%e5%ae%9a%ef%bc%81%e5%a4%89%e6%95%b0%e3%83%bb%e3%82%bb/">【マクロVBA】IsNumeric関数を使って数値判定！変数・セルの値でも数字であるか判別可能 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div>
<h3><span id="toc14">文字の判定</span></h3>
<p><strong>VarType</strong>または<strong>WorksheetFunction.IsText</strong>を使用して文字であるか判断します。<br />しかし、<span class="marker-under"><strong>VarTypeを「vbString」で条件分岐した場合は数値を含める特徴</strong></span>があります</p>
</div>
<div class="blank-box sticky st-blue"><strong>文字の判定：①VarType(<span style="color: #ff0000;">判定対象</span>) = vbString・・・文字・数値・数式で計算した文字・数値を含める</strong><br /><strong>　　　　　　②WorksheetFunction.IsText(<span style="color: #ff0000;">判定対象</span>)・・・文字・数式で計算した文字を含める</strong></div>
<div>
<h3><span id="toc15">空白の判定</span></h3>
<p><strong>IsEmpty</strong>を使用して空白であるか判断します。</p>
</div>
<div class="blank-box sticky st-blue"><strong>空白の判定：①IsEmpty(<span style="color: #ff0000;">判定対象</span>)</strong></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%82%84%e5%a4%89%e6%95%b0%e3%81%8c%e7%a9%ba%e7%99%bd%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%e3%82%92%e5%88%a4%e6%96%ad%e3%81%99/">【マクロVBA】セルや変数が空白かどうかを判断する方法！IsEmpty関数の使い方と注意点も紹介 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div>
<h3><span id="toc16">数式の値の判定</span></h3>
<p><strong>HasFormula</strong>を使用して空白であるか判断します。</p>
</div>
<div class="blank-box sticky st-blue"><strong>数式の判定：①<span style="color: #ff0000;">判定対象</span>.HasFormula</strong></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%81%8c%e6%95%b0%e5%bc%8f%e3%82%92%e5%90%ab%e3%82%93%e3%81%a7%e3%81%84%e3%82%8b%e3%81%8b%e5%88%a4%e6%96%ad%e3%83%bb%e5%88%a4/">【マクロVBA】セルが数式を含んでいるか判断・判定する方法！HasFormula関数で簡単チェック！ ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、VBAを使用してセルの範囲内に含まれる文字や数値を判定し、個数を数える操作について学びました。</p>
<p>具体的には、セル番地A1からA10までのセルのうち、文字や数値が含まれているセルの個数を数え、<br />その結果をセル番地C2に表示する問題を解きました。</p>
<p>この問題を解くためには、ループ構造や条件分岐を活用し、セルの値を判定する方法が必要でした。</p>
<p>VBAを使うことで、Excelの操作やデータ処理を自動化し、効率化することができます。</p>
<p>練習問題を通じて、VBAの基本的な構文や関数、ループ処理、条件分岐などのスキルを向上させましょう。</p>
<p>次の練習問題では、さらに応用的な操作や問題に取り組んでいきますので、ステップバイステップで取り組んでスキルを磨いていきましょう。</p>
<p>以上が練習問題23となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4501</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題22】文字・数値の置き換え！指定範囲をまとめて置換・出力する方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c22%e3%80%91%e6%96%87%e5%ad%97%e3%83%bb%e6%95%b0%e5%80%a4%e3%81%ae%e7%bd%ae%e3%81%8d%e6%8f%9b%e3%81%88%ef%bc%81%e6%8c%87/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c22%25e3%2580%2591%25e6%2596%2587%25e5%25ad%2597%25e3%2583%25bb%25e6%2595%25b0%25e5%2580%25a4%25e3%2581%25ae%25e7%25bd%25ae%25e3%2581%258d%25e6%258f%259b%25e3%2581%2588%25ef%25bc%2581%25e6%258c%2587</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 17 Jul 2023 14:33:54 +0000</pubDate>
				<category><![CDATA[判断]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[Replace]]></category>
		<category><![CDATA[Substitute]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[置き換え]]></category>
		<category><![CDATA[練習問題]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4493</guid>

					<description><![CDATA[目次 練習問題と内容について・練習問題の狙い・練習問題22について練習問題の内容と動作説明問題内容動作説明ヒント・ヒントその1解答コード・回答その①・回答その②必要な知識OffsetメソッドReplace関数Worksh [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">練習問題と内容について</a><ol><li><a href="#toc2" tabindex="0">・練習問題の狙い</a></li><li><a href="#toc3" tabindex="0">・練習問題22について</a></li></ol></li><li><a href="#toc4" tabindex="0">練習問題の内容と動作説明</a><ol><li><a href="#toc5" tabindex="0">問題内容</a></li><li><a href="#toc6" tabindex="0">動作説明</a></li></ol></li><li><a href="#toc7" tabindex="0">ヒント</a><ol><li><a href="#toc8" tabindex="0">・ヒントその1</a></li></ol></li><li><a href="#toc9" tabindex="0">解答コード</a><ol><li><a href="#toc10" tabindex="0">・回答その①</a></li><li><a href="#toc11" tabindex="0">・回答その②</a></li></ol></li><li><a href="#toc12" tabindex="0">必要な知識</a><ol><li><a href="#toc13" tabindex="0">Offsetメソッド</a></li><li><a href="#toc14" tabindex="0">Replace関数</a></li><li><a href="#toc15" tabindex="0">WorksheetFunctionの使用</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題22について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>今回は指定範囲内の文字・数値を置換する練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル番地A1からA10までのセルに入力されたテキストの中で、一<span class="marker-under"><strong>部の文字列を別の文字列に置換して、結果をセル番地C1からC10に表示</strong></span>する。</p>
<p><img decoding="async" class="alignnone wp-image-4495 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-69.png" width="1045" height="230" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-69.png 1493w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-69-300x66.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-69-1024x225.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-69-768x169.png 768w" sizes="(max-width: 1045px) 100vw, 1045px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>この問題では、セル番地A1からA10までのセルに入力されたテキストを操作し、指定した文字列を別の文字列に置換します。</p>
<p>そして、置換後の結果をセル番地C1からC10に表示します。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p> テキストの置換には<span class="marker-under"><strong>、VBAの組み込み関数であるReplace関数を使用</strong></span>します。<br />この関数は、指定した文字列内の一部の文字列を別の文字列に置換するために使用されます。</p>
<div class="information-box common-icon-box"><strong>Replace(<span style="color: #ff0000;">対象文字列</span>, <span style="color: #3366ff;">置換前の文字列</span>, <span style="color: #339966;">置換後の文字列</span>, <span style="color: #ff9900;">[開始位置], [置換回数], [比較方法]</span>)<br />　※<span style="color: #ff9900;">[]</span>内は省略可能</strong></div>
<div> </div>
<p>&#8211; <strong><span style="color: #ff0000;">対象文字列</span></strong>: 置換を行いたい文字列。<br />&#8211; <span style="color: #3366ff;"><strong>置換前の文字列</strong></span>: 置換したい部分文字列。<br />&#8211; <span style="color: #339966;"><strong>置換後の文字列</strong></span>: 置換後の文字列。<br />&#8211; <span style="color: #ff9900;"><strong>開始位置 (オプション)</strong></span>: 置換を開始する位置。省略すると1番目の文字から置換が始まります。<br />&#8211; <span style="color: #ff9900;"><strong>置換回数 (オプション)</strong></span>: 置換を行う回数。省略するとすべての一致箇所が置換されます。<br />&#8211; <span style="color: #ff9900;"><strong>比較方法 (オプション)</strong></span>: 文字列の比較方法を指定します。省略するとバイナリ比較が行われます。</p>
<p>これらのヒントを参考にして、解答コードを作成してみてください。</p>
<p>&nbsp;</p>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc9">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc10">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise22to1()<br />　Dim <strong><span style="color: #ff0000;">rng</span> </strong>As Range<br />　Dim <strong><span style="color: #3366ff;">cell</span> </strong>As Range<br /><br />&#8216; 対象範囲を指定<br />　Set <strong><span style="color: #ff0000;">rng</span> </strong>= Range(&#8220;A1:A10&#8221;)<br /><br />&#8216; 置換処理を実行<br />For Each <strong><span style="color: #3366ff;">cell</span> </strong>In <strong><span style="color: #ff0000;">rng</span> </strong><br />　cell.Offset(0, 2).value = Replace(<strong><span style="color: #3366ff;">cell</span></strong>.value, <span class="marker-under-red"><strong>&#8220;エクセル&#8221;</strong></span>, <span class="marker-under-blue"><strong>&#8220;Excel&#8221;</strong></span>)<br />Next <strong><span style="color: #3366ff;">cell</span> </strong><br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードでは、セル番地A1からA10までのセルに入力されたテキストの中で、<span class="marker-under-red"><strong>エクセル</strong></span>を<span class="marker-under-blue"><strong>Excel</strong></span>に置換しています。</p>
<p>置換後の結果は、元のテキストとは別のセルのC列に表示されます。</p>
<p>&nbsp;</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="714" height="258" class="alignnone wp-image-4496 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-70.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-70.png 714w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-70-300x108.png 300w" sizes="(max-width: 714px) 100vw, 714px" /></p>
<p><span class="marker-under"><strong>エクセルをExcelに置き換えることが出来ていますね。</strong></span><br /><br /></p>
</div>
<h3><span id="toc11">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise22to2()<br />　Dim <strong><span style="color: #ff0000;">rng</span> </strong>As Range<br />　Dim <strong><span style="color: #3366ff;">cell</span> </strong>As Range<br /><br />&#8216; 対象範囲を指定<br />Set <strong><span style="color: #ff0000;">rng</span> </strong>= Range(&#8220;A1:A10&#8221;)<br /><br />&#8216; 置換処理を実行<br />For Each <strong><span style="color: #3366ff;">cell</span> </strong>In <strong><span style="color: #ff0000;">rng</span> </strong><br />　cell.Offset(0, 2).value = <span class="marker-under"><strong>WorksheetFunction.Substitute</strong></span>(<strong><span style="color: #3366ff;">cell</span></strong>.value, <span class="marker-under-red"><strong>&#8220;エクセル&#8221;</strong></span>, <span class="marker-under-blue"><strong>&#8220;Excel&#8221;</strong></span>)<br />Next <strong><span style="color: #3366ff;">cell</span> </strong><br />End Sub</p>
</div>
<div>
<p>上記のコードでは、<span class="marker-under"><strong>WorksheetFunction.Substitute関数を使用して文字列の置換</strong></span>を行っています。</p>
<p>この関数は、指定した文字列内の一部の文字列を別の文字列に置換するために使用されます。</p>
</div>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc12">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc13">Offsetメソッド</span></h3>
<p><span class="marker-under"><strong> Offsetメソッドは、Rangeオブジェクトの位置をずらすために使用</strong></span>されます。</p>
<p>Offsetメソッドを使用して、対象セルからの相対的な位置に移動することができます。</p>
<h3><span id="toc14">Replace関数</span></h3>
<p><span class="marker-under"><strong>Replace関数は、指定した文字列内の一部の文字列を別の文字列に置換</strong></span>するために使用されます。</p>
<p>置換前の文字列と置換後の文字列を指定することで、テキストの置換を行うことができます。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-23%e3%80%91%e6%96%87%e5%ad%97%e3%83%bb%e6%95%b0%e5%80%a4%e3%81%ae%e7%bd%ae%e6%8f%9b%e3%81%a8%e5%ae%8c%e5%85%a8%e4%b8%80%e8%87%b4%e3%81%aa/">【マクロVBA】文字・数値の置き換え!部分・完全一致や大・小文字、全角半角などオプションも解説 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div>
<h3><span id="toc15">WorksheetFunctionの使用</span></h3>
<p><span class="marker-under"><strong>Substitute関数の</strong></span>置換をするためには、WorksheetFunctionが必要です。 <br />下記参考記事で紹介しています！</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-22%e3%80%91%e3%83%af%e3%83%bc%e3%82%af%e3%82%b7%e3%83%bc%e3%83%88%e9%96%a2%e6%95%b0%e3%81%ae%e6%a9%9f%e8%83%bd%e3%82%92%e4%bd%bf%e7%94%a8/">【マクロVBA】通常のワークシート関数の機能をVBAでも使用する方法~WorksheetFunction~ ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
</div>
<h2 class="wp-block-heading"><span id="toc16">まとめ</span></h2>
<p>この練習問題では、指定したセル範囲に入力されたテキストの中から一部の文字列を置換する操作について学びました。</p>
<p>具体的には、セル番地A1からA10までのセルに入力されたテキストの中で、指定した文字列を別の文字列に置換し、<br />結果を別のセル範囲に表示する問題を解きました。</p>
<p>解答コードでは、RangeオブジェクトやOffsetメソッドを使用して対象範囲を指定し、Replace関数を使用してテキストの置換を行いました。</p>
<p>VBAを使うことで、セル内のテキスト操作や置換など、様々なデータ処理を自動化することができます。<br />練習問題を通じて、VBAのスキルを向上させ、エクセルの操作を効率化する方法を学んでいきましょう。</p>
<p>以上が練習問題21となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4493</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題21】重複の判定！指定セル範囲内で同じ文字・数値がある場合は色を付ける</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c21%e3%80%91%e9%87%8d%e8%a4%87%e3%81%ae%e5%88%a4%e5%ae%9a%ef%bc%81%e6%8c%87%e5%ae%9a%e3%82%bb%e3%83%ab%e7%af%84%e5%9b%b2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c21%25e3%2580%2591%25e9%2587%258d%25e8%25a4%2587%25e3%2581%25ae%25e5%2588%25a4%25e5%25ae%259a%25ef%25bc%2581%25e6%258c%2587%25e5%25ae%259a%25e3%2582%25bb%25e3%2583%25ab%25e7%25af%2584%25e5%259b%25b2</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 13 Jul 2023 07:48:42 +0000</pubDate>
				<category><![CDATA[判断]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[Interior]]></category>
		<category><![CDATA[重複]]></category>
		<category><![CDATA[Collection]]></category>
		<category><![CDATA[Scripting.Dictionary]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4487</guid>

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

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題21について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>指定範囲内の重複した文字・数値を判定して、重複しているセルに色を付ける練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル番地A1からA10までの<span class="marker-under"><strong>セルに入力されたテキストの中で、重複する値を持つセルの背景色を赤色に変更</strong></span>する。</p>
<p><img decoding="async" width="631" height="471" class="alignnone wp-image-4488 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-67.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-67.png 631w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-67-300x224.png 300w" sizes="(max-width: 631px) 100vw, 631px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>VBAを使用して、指定されたセル範囲内のテキストの重複をチェックし、</p>
<p>重複がある場合にそのセルの背景色を赤色に変更します。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>セルの背景色を変更するには、<span class="marker-under"><strong>Interiorプロパティ</strong></span>を使用します。</p>
<p>例えば、Range(&#8220;A1&#8221;).<span class="marker-under"><strong>Interior.Color</strong> </span>= RGB(255, 0, 0)というコードを使って、セルA1の背景色を赤色に変更することができます。</p>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>テキストの<span class="marker-under"><strong>重複をチェックするためには、ループや条件分岐</strong></span>を使用します。</p>
<p>ループを使ってセル範囲内の値を1つずつ取得し、重複をチェックする必要があります。</p>
<h3><span id="toc10">・ヒントその3</span></h3>
<p>重複をチェックするためには、<span class="marker-under"><strong>配列やコレクションを使用する方法</strong></span>もあります。</p>
<p><span class="marker-under-red"><strong>セル範囲の値を配列に格納し、配列内で重複をチェック</strong></span>することで効率的に処理できます。</p>
<p>&nbsp;</p>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc11">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc12">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise21to1()<br />　Dim <strong><span style="color: #ff0000;">rng</span> </strong>As Range<br />　Dim <strong><span style="color: #3366ff;">cell</span> </strong>As Range<br />　Dim <strong><span style="color: #339966;">values</span> </strong>As Collection<br /><br />Set <strong><span style="color: #ff0000;">rng</span> </strong>= Range(&#8220;A1:A10&#8221;)<br />Set <strong><span style="color: #339966;">values</span> </strong>= New Collection<br /><br />&#8216;重複する値を持つセルを赤色に変更<br />For Each <strong><span style="color: #3366ff;">cell</span> </strong>In <strong><span style="color: #ff0000;">rng</span> </strong><br />　On Error Resume Next<br />　<strong><span style="color: #339966;">values</span></strong>.Add <strong><span style="color: #3366ff;">cell</span></strong>.value, CStr(<strong><span style="color: #3366ff;">cell</span></strong>.value)<br />　If Err.Number &lt;&gt; 0 Then<br />　　<strong><span style="color: #3366ff;">cell</span></strong>.Interior.Color = RGB(255, 0, 0) &#8216;背景色を赤色に変更<br />　　Err.Clear<br />　End If<br />On Error GoTo 0<br />Next <strong><span style="color: #3366ff;">cell</span></strong><br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードは、セル範囲A1からA10のテキストの中で重複する値を持つセルの背景色を赤色に変更するVBAのマクロです。</p>
<p>解答コードでは、<span class="marker-under"><strong>Collectionオブジェクトを使用して重複をチェック</strong></span>しています。</p>
<p>セル範囲内の値を順に処理し、<span class="marker-under-red"><strong>値が既にコレクションに存在する場合は重複とみなし、セルの背景色を赤色に変更</strong></span>しています。</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="190" height="419" class="alignnone wp-image-4489 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-68.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-68.png 190w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-68-136x300.png 136w" sizes="(max-width: 190px) 100vw, 190px" /></p>
<p><span class="marker-under"><strong>A5とA9はA3と同じ「エクセル」であるため重複と判断し、背景色が変わっています。</strong></span><br /><br /></p>
</div>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise21to2()<br />　Dim <strong><span style="color: #ff0000;">rng</span> </strong>As Range<br />　Dim <strong><span style="color: #3366ff;">cell </span></strong>As Range<br />　Dim <strong><span style="color: #339966;">values</span> </strong>As Object<br /><br />Set <strong><span style="color: #ff0000;">rng</span> </strong>= Range(&#8220;A1:A10&#8221;)<br />Set <strong><span style="color: #339966;">values</span> </strong>= <span class="marker-under"><strong>CreateObject(&#8220;Scripting.Dictionary&#8221;)</strong></span><br /><br />&#8216;重複する値を持つセルを赤色に変更<br />For Each <strong><span style="color: #3366ff;">cell</span></strong>In <strong><span style="color: #ff0000;">rng</span> </strong><br />　If Not <strong><span style="color: #339966;">values</span></strong>.Exists(<strong><span style="color: #3366ff;">cell</span></strong>.value) Then<br />　　　<span class="marker-under-red"><strong><span style="color: #339966;">values</span>.Add</strong> <span style="color: #3366ff;">cell</span>.value, 1</span><br />　　Else<br />　　　<span class="marker-under-blue"><strong><span style="color: #3366ff;">cell</span>.Interior.Color = RGB(255, 0, 0)</strong></span> &#8216;背景色を赤色に変更<br />　End If<br />Next <strong><span style="color: #3366ff;">cell</span></strong><br />End Sub</p>
</div>
<div>
<p>この回答コードでは、<span class="marker-under"><strong>Scripting.Dictionaryオブジェク</strong></span>トを使用して重複をチェックしています。</p>
<p>セル範囲内の値を順に処理し、<span class="marker-under-red"><strong>値が辞書に存在しない場合は辞書に追加</strong></span>し、<br /><span class="marker-under-blue"><strong>既に存在する場合は重複とみなし、セルの背景色を赤色に変更</strong></span>しています。</p>
</div>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc14">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc15">セルの背景色の変更</span></h3>
<p><span class="marker-under"><strong>セルの背景色を変更するには、Interior.Colorプロパティを使用</strong></span>します。<br />色はRGB値で指定します。例えば、赤色はRGB(255, 0, 0)で表されます。</p>
<div> </div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%81%ae%e8%83%8c%e6%99%af%e3%81%ab%e8%89%b2%e3%82%92%e3%81%a4%e3%81%91%e3%82%8b%e3%83%bb%e8%a8%ad%e5%ae%9a%e3%83%bb%e5%a4%89/">【マクロVBA】セルの背景に色をつける・設定・変更！ Interior.ColorとRGBなどで指定 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h3><span id="toc16">コレクションや辞書の使用</span></h3>
<p>重複をチェックするために、<span class="marker-under"><strong>コレクションや辞書</strong></span>を使用します。</p>
<p><span class="marker-under"><strong>コレクションはCollectionオブジェクト、辞書はScripting.Dictionaryオブジェクトを使用</strong></span>します。</p>
<p>値を追加したり、既に存在するかチェックしたりすることができます。</p>
<p>&nbsp;</p>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、VBAを使用してセル範囲内のテキストの重複をチェックし、</p>
<p>重複する値を持つセルの背景色を赤色に変更する方法について学びました。</p>
<p>具体的には、セル範囲A1からA10のテキストを比較し、重複する値を持つセルを特定し、その背景色を赤色に変更しました。</p>
<p>問題を解くためには、セルの背景色の変更、セル範囲の指定、コレクションや辞書の使用、ループ処理などの知識が必要でした。</p>
<p>VBAを使うことで、Excelの操作を自動化したり、データの処理や解析を行ったりすることができます。<br />練習問題を通じて、VBAのスキルを向上させ、より高度な操作や処理を行えるようになることを目指しましょう。</p>
<p>以上が練習問題21となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4487</post-id>	</item>
		<item>
		<title>【マクロVBA】セルが数式を含んでいるか判断・判定する方法！HasFormula関数で簡単チェック！</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%81%8c%e6%95%b0%e5%bc%8f%e3%82%92%e5%90%ab%e3%82%93%e3%81%a7%e3%81%84%e3%82%8b%e3%81%8b%e5%88%a4%e6%96%ad%e3%83%bb%e5%88%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%25bb%25e3%2583%25ab%25e3%2581%258c%25e6%2595%25b0%25e5%25bc%258f%25e3%2582%2592%25e5%2590%25ab%25e3%2582%2593%25e3%2581%25a7%25e3%2581%2584%25e3%2582%258b%25e3%2581%258b%25e5%2588%25a4%25e6%2596%25ad%25e3%2583%25bb%25e5%2588%25a4</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%81%8c%e6%95%b0%e5%bc%8f%e3%82%92%e5%90%ab%e3%82%93%e3%81%a7%e3%81%84%e3%82%8b%e3%81%8b%e5%88%a4%e6%96%ad%e3%83%bb%e5%88%a4/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 13 Jul 2023 07:03:12 +0000</pubDate>
				<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[数式]]></category>
		<category><![CDATA[HasFormula関数]]></category>
		<category><![CDATA[判定]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4460</guid>

					<description><![CDATA[VBAを使ってExcelのデータ処理を行う際、セルが数式を含んでいるかどうかを判断する必要がある場面があります。 そこで活用できるのが「HasFormula」関数です。この関数を使うことで、特定のセルが数式を含んでいるか [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAを使ってExcelのデータ処理を行う際、<span class="marker-under"><strong>セルが数式を含んでいるかどうかを判断する</strong></span>必要がある場面があります。</p>
<p>そこで活用できるのが<span class="marker-under"><strong>「HasFormula」関数</strong></span>です。<br />この関数を使うことで、特定のセルが数式を含んでいるかどうかを簡単にチェックすることができます。</p>
<p>この記事では、HasFormula関数の使い方や注意点について詳しく解説します。<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-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">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">■構文</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc4" tabindex="0">■セルが数式を含んでいるか確認する方法</a><ol><li><a href="#toc5" tabindex="0">・通常の文字・文字数値が入力されてある場合</a></li><li><a href="#toc6" tabindex="0">四則演算（+-/*）を使用している場合</a></li><li><a href="#toc7" tabindex="0">関数を使用している場合</a></li><li><a href="#toc8" tabindex="0">参照している場合</a></li></ol></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc10" tabindex="0">数式の判定</a></li><li><a href="#toc11" tabindex="0">「オブジェクトが必要です」というエラー</a></li><li><a href="#toc12" tabindex="0">・「オブジェクトのメソッドまたはプロパティがありません」というエラー</a></li></ol></li><li><a href="#toc13" tabindex="0">■練習問題</a></li><li><a href="#toc14" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc15" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんな事ができるようになる！</span></h2>
<p>

</p>
<p>・セルが数式を含んでいるかどうかを判断できるようになる</p>
<p><img decoding="async" width="1505" height="297" class="alignnone wp-image-4471 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-66.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-66.png 1505w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-66-300x59.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-66-1024x202.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-66-768x152.png 768w" sizes="(max-width: 1505px) 100vw, 1505px" /></p>
<p>&nbsp;</p>
<h2><span id="toc2">■構文</span></h2>
<p>HasFormula関数は、指定したセルが数式を含んでいるかどうかを判断するための関数です。</p>
<p>この関数は論理値（TrueまたはFalse）を返し、<span class="marker-under-red"><strong>数式が含まれていればTrue、含まれていなければFalse</strong></span>となります。</p>
<div class="information-box common-icon-box"><span class="fz-18px fz-20px"><strong><span style="color: #3366ff;">戻り値</span>＝<span style="color: #ff0000;">対象セル</span>.<span class="marker-under">HasFormula</span></strong></span></div>
<p><span class="marker-under"><strong>IsEmpty関数</strong></span>は、指定したセルが数式を含んでいるか判断するために使用されます。</p>
<p><strong><span style="color: #3366ff;">戻り値</span></strong>は<span class="marker-under-blue">True（空白）またはFalse（空白でない）</span>となります。</p>
<p>





</p>
<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>
<p>

</p>
<pre class="wp-block-verse">Sub CheckFormula()<br />Dim rng As Range<br />Set rng = <span style="color: #000000;"><strong><span style="color: #ff0000;">対象セル</span></strong></span><br /><br />If rng.HasFormula Then<br /> '<span style="color: #000000;"><span style="color: #3366ff;"><strong>数式の処理</strong></span></span><br />Else<br /> '<span style="color: #000000;"><span style="color: #3366ff;"><strong>数式でないときの処理</strong></span></span><br />End If<br />End Sub</pre>
<p>

</p>
<p><span style="color: #000000;"><strong><span style="color: #ff0000;">対象セル</span></strong>はカスタムして使用してください。<br />「<span style="color: #3366ff;"><strong>数式の処理</strong></span>」または「<span style="color: #3366ff;"><strong>数式でないときの処理</strong></span>」を当てはめることで場面に合わせて処理できます。<br /></span></p>
<h2 class="wp-block-heading"><span id="toc4">■セルが数式を含んでいるか確認する方法</span></h2>
<p>

</p>
<p>まずは<span class="marker-under"><strong>セルが数式を含んでいるかを判断する方法</strong></span>について説明します。</p>
<h3 class="wp-block-heading"><span id="toc5">・通常の文字・文字数値が入力されてある場合</span></h3>
<p>まず<span class="marker-under-blue"><strong>通常の文字・文字数値が入力されてある場合</strong></span>を見ていきましょう。</p>
<p>下図の見本をご覧ください。</p>
<p><img decoding="async" width="643" height="153" class="alignnone wp-image-4461 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-57.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-57.png 643w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-57-300x71.png 300w" sizes="(max-width: 643px) 100vw, 643px" /></p>
<div>
<p>B3にはでなく「123」と入力された数値があります。<br />今回はこちらを数式なのか判断してみたいと思います。</p>
<p>では再度構文を見ていきましょう。</p>
</div>
<div class="information-box common-icon-box">
<p><span class="fz-18px fz-20px"><strong><span style="color: #3366ff;">戻り値</span>＝<span style="color: #ff0000;">対象セル</span>.<span class="marker-under">HasFormula</span></strong></span></p>
</div>
<div>では構文に当てはめてみましょう。<br /><span class="fz-18px fz-20px"><strong><span style="color: #ff0000;">対象セル</span></strong></span>は<span style="color: #ff0000;"><strong>B3</strong></span>のセルなのでそのままB3が当てはまります。</div>
<div> </div>
<div>そこからIfを使用することで<span class="marker-under-red"><strong>数式の時は「数式を含んでいます」を出力</strong></span>、<span class="marker-under-blue"><strong>数式でない場合は「数式が含まれていません」</strong></span>という出力をします。</div>
<div> </div>
<div>それではソースコードを見ていきましょう。</div>
<div> </div>
<div class="blank-box bb-yellow">Sub CheckFormula()<br />Dim <strong><span style="color: #ff0000;">rng</span> </strong>As Range<br />Set <strong><span style="color: #ff0000;">rng</span> </strong>= Range(&#8220;B3&#8221;)<br /><br />If <strong><span style="color: #ff0000;">rng</span> </strong>.<span class="marker-under"><strong>HasFormula</strong></span> Then<br /><strong><span class="marker-under-red">　Cells(3, 4) = &#8220;数式を含んでいます。&#8221;</span></strong><br />Else<br /><span class="marker-under-blue"><strong>　Cells(3, 4) = &#8220;数式が含まれていません。&#8221;</strong></span><br />End If<br />End Sub</div>
<div>それでは実行してみましょう。<br />結果はこのようになります。</div>
<div><img decoding="async" width="627" height="160" class="alignnone wp-image-4462 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-58.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-58.png 627w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-58-300x77.png 300w" sizes="(max-width: 627px) 100vw, 627px" /></div>
<div> </div>
<div><span class="marker-under-blue"><strong>123と入力されているだけで「数式」でないので「数式が含まれていません」</strong></span>という結果になりました。</div>
<div>
<div>
<p>&nbsp;</p>
</div>
</div>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc6">四則演算（+-/*）を使用している場合</span></h3>
<p>今度は<span class="marker-under"><strong>足し算や割り算をしたセルを判断</strong></span>してみたいと思います。</p>
<p>下図の見本をご覧ください。</p>
<p><img decoding="async" width="636" height="169" class="alignnone wp-image-4464 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-60.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-60.png 636w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-60-300x80.png 300w" sizes="(max-width: 636px) 100vw, 636px" /></p>
<p>対象セルには「1+1」という計算式が入っていますね。</p>
<p>それでは先ほどのコードを実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="632" height="157" class="alignnone wp-image-4465 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-61.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-61.png 632w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-61-300x75.png 300w" sizes="(max-width: 632px) 100vw, 632px" /></p>
<p><span class="marker-under-red"><strong>「1+1」は数式と判断されて、「数式を含んでいます」という結果</strong></span>になりました。</p>
<h3><span id="toc7">関数を使用している場合</span></h3>
<p>今度は<span class="marker-under"><strong>関数を使用しているセルを判断</strong></span>してみたいと思います。</p>
<p>下図の見本をご覧ください。</p>
<p><img decoding="async" width="623" height="222" class="alignnone wp-image-4466 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-62.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-62.png 623w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-62-300x107.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></p>
<p>対象セルには「SUM(B5:B6)」という合計を求める関数が入っていますね。</p>
<p>それでは先ほどのコードを実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="619" height="178" class="alignnone wp-image-4467 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-63.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-63.png 619w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-63-300x86.png 300w" sizes="(max-width: 619px) 100vw, 619px" /></p>
<p><span class="marker-under-red"><strong>関数を使用している場合は数式と判断されて、「数式を含んでいます」という結果</strong></span>になりました。</p>
<h3><span id="toc8">参照している場合</span></h3>
<p>今度は<span class="marker-under"><strong>別のセルを参照したセルを判断</strong></span>してみたいと思います。</p>
<p>下図の見本をご覧ください。</p>
<p><img decoding="async" width="634" height="190" class="alignnone wp-image-4468 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-64.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-64.png 634w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-64-300x90.png 300w" sizes="(max-width: 634px) 100vw, 634px" /></p>
<p>対象セルには「B4」という１つ下のセルを参照する式が入っていますね。</p>
<p>それでは先ほどのコードを実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="624" height="165" class="alignnone wp-image-4469 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-65.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-65.png 624w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-65-300x79.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></p>
<p><span class="marker-under-red"><strong>参照したセルは計算の有無にかかわらず数式と判断されて、「数式を含んでいます」</strong></span>という結果になりました。</p>
<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎よくあるエラーと対処法</span></h2>
<p>

</p>
<p>HasFormula関数を使用する際によく発生するエラーとその対処法についてお伝えします。</p>
<p>以下の点に注意してください。</p>
<h3 class="wp-block-heading"><span id="toc10">数式の判定</span></h3>
<p>先ほどの検証で察した方もおられると思いますが、<br />数式とは<span class="marker-under"><strong>「＝（イコール）」を使用した場合に「数式」と判断される</strong></span>認識で問題ないと思います。</p>
<p>特に「＝B3」など、参照しているだけで計算はしていないのですが、こちらは「数式」と判断されます。</p>
<p>こちらの特性を理解した上でご活用ください</p>
<h3><span id="toc11">「オブジェクトが必要です」というエラー</span></h3>
<p>このエラーは、HasFormula関数を適用する対象のセルが正しく指定されていない場合に発生します。</p>
<p>セルの指定方法や範囲を確認してください。</p>
<p>対処法は HasFormula関数を使用する前に、適切な範囲をRangeオブジェクトで指定し、セルを参照するようにします。<br />例えば、以下のようにセルの範囲を正確に指定します。</p>
<div class="blank-box sticky st-red">Dim <strong><span style="color: #ff0000;">rng</span> </strong>As Range<br />Set <span style="color: #ff0000;"><strong>rng</strong> </span>= Range(&#8220;A1&#8221;)</div>
<h3><span id="toc12">・「オブジェクトのメソッドまたはプロパティがありません」というエラー</span></h3>
<p>このエラーは、HasFormula関数が使用される対象のセルに数式が含まれていない場合に発生します。<br />HasFormula関数は数式の有無を判定するため、セルに数式が入力されている必要があります。</p>
<p>対処法はHasFormula関数を使用する前に、セルが数式を含んでいるかどうかを確認しましょう。</p>
<h2><span id="toc13">■練習問題</span></h2>
<p>練習問題も別の記事でまとめているので是非参考にしてみてください！</p>
<div class="alert-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c18%e3%80%91%e6%95%b0%e5%bc%8f%e3%81%ae%e5%88%a4%e5%88%a5%e3%83%bb%e5%88%a4%e5%ae%9a%ef%bc%81%e6%95%b0%e5%bc%8f%e3%81%8c/">【マクロVBA練習問題18】数式の判別・判定！数式が含まれているセルの個数をカウントする ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc14">&#x2b1b;︎公式の説明</span></h2>
<p>

</p>
<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br />マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>
<p>

</p>
<div class="question-box common-icon-box"><a href="https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.hasformula">Range.HasFormula プロパティ (Excel) | Microsoft Learn</a></div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc15">&#x2b1b;︎まとめ</span></h2>
<p>

</p>
<p>いかがだったでしょうか？</p>
<p>HasFormula関数を使用することで、マクロVBAでセルが数式を含んでいるかどうかを簡単に判断することができます。</p>
<p>この関数を活用することで、特定のセルに数式が含まれている場合に適切な処理を行うことができます。</p>
<p>この記事ではHasFormula関数の使い方や注意点について解説しました。<br />VBAを使ったExcelデータ処理で数式の判定が必要な場合は、HasFormula関数を活用して効率的な処理を行いましょう。</p>
<p>それでは次回の記事でお会いしましょう。</p>
<p>

</p>
<p>

</p>
<p>&nbsp;</p>
<p></p>
<p>&nbsp;</p>]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%81%8c%e6%95%b0%e5%bc%8f%e3%82%92%e5%90%ab%e3%82%93%e3%81%a7%e3%81%84%e3%82%8b%e3%81%8b%e5%88%a4%e6%96%ad%e3%83%bb%e5%88%a4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4460</post-id>	</item>
		<item>
		<title>【マクロVBA】セルや変数が空白かどうかを判断する方法！IsEmpty関数の使い方と注意点も紹介</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%82%84%e5%a4%89%e6%95%b0%e3%81%8c%e7%a9%ba%e7%99%bd%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%e3%82%92%e5%88%a4%e6%96%ad%e3%81%99/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e3%2582%25bb%25e3%2583%25ab%25e3%2582%2584%25e5%25a4%2589%25e6%2595%25b0%25e3%2581%258c%25e7%25a9%25ba%25e7%2599%25bd%25e3%2581%258b%25e3%2581%25a9%25e3%2581%2586%25e3%2581%258b%25e3%2582%2592%25e5%2588%25a4%25e6%2596%25ad%25e3%2581%2599</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%82%84%e5%a4%89%e6%95%b0%e3%81%8c%e7%a9%ba%e7%99%bd%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%e3%82%92%e5%88%a4%e6%96%ad%e3%81%99/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 12 Jul 2023 15:12:37 +0000</pubDate>
				<category><![CDATA[判断]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[IsEmpty関数]]></category>
		<category><![CDATA[空白]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4445</guid>

					<description><![CDATA[VBAでは、セルや変数が空白かどうかを判断する必要がある場面があります。 そこで、本記事ではIsEmpty関数の使い方について解説します。 本記事では、IsEmpty関数の使い方や注意点、実際の活用例について詳しく解説し [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAでは、<span class="marker-under"><strong>セルや変数が空白かどうかを判断する必要がある</strong></span>場面があります。</p>
<p>そこで、本記事では<span class="marker-under"><strong>IsEmpty関数の使い方</strong></span>について解説します。</p>
<p>本記事では、IsEmpty関数の使い方や注意点、実際の活用例について詳しく解説します。<br /><br />ぜひ参考にしてください。<br />それでは見ていきましょう！</p>
<p>

</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">■構文</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎セルが空白かどうかを判断する方法</a></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎変数が空白かどうかを判断する方法</a></li><li><a href="#toc6" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc7" tabindex="0">空白セルの判定</a></li></ol></li><li><a href="#toc8" tabindex="0">■練習問題</a></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

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

					<description><![CDATA[VBAを使用すると、Excelのセル内のデータを効率的に整理することができます。今回は、セルの並び替え（sort）について詳しく紹介します。 本記事では、Sortメソッドの使い方や注意点、実際の活用例について詳しく解説し [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAを使用すると、Excelのセル内のデータを効率的に整理することができます。<br />今回は、<span class="marker-under"><strong>セルの並び替え（sort）について</strong></span>詳しく紹介します。</p>
<p>本記事では、Sortメソッドの使い方や注意点、実際の活用例について詳しく解説します。<br /><br />ぜひ参考にしてください。<br />それでは見ていきましょう！</p>
<p>

</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">&#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">昇順・降順で並び替え</a><ol><li><a href="#toc5" tabindex="0">・昇順で並び替え</a></li><li><a href="#toc6" tabindex="0">・降順で並び替え</a></li></ol></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎単一範囲と複数範囲の並び替え</a><ol><li><a href="#toc8" tabindex="0">・単一範囲の並び替え</a></li><li><a href="#toc9" tabindex="0">・複数範囲の並び替え</a></li></ol></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎よくあるエラーと対処法</a><ol><li><a href="#toc11" tabindex="0">1. &#8220;実行時エラー &#8216;1004&#8217;:ソートする範囲が正しくありません</a></li><li><a href="#toc12" tabindex="0">2. &#8220;実行時エラー &#8216;438&#8217;:オブジェクトはこのプロパティまたはメソッドをサポートしていません</a></li><li><a href="#toc13" tabindex="0">3. &#8220;実行時エラー &#8217;91&#8217;:オブジェクト変数または With ブロック変数が設定されていません</a></li></ol></li><li><a href="#toc14" tabindex="0">■練習問題</a></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>

</p>
<p>・Excelのセル内のデータを<span class="marker-under"><strong>昇順や降順に並び替える</strong></span>ことができる<br />・<span class="marker-under"><strong>特定の範囲や複数範囲のデータを正確に整理</strong></span>できる</p>
<p><img decoding="async" class="alignnone wp-image-4432 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-43.png" width="685" height="342" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-43.png 951w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-43-300x150.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-43-768x384.png 768w" sizes="(max-width: 685px) 100vw, 685px" /></p>
<p>





</p>
<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</span></h2>
<p>

</p>
<pre class="wp-block-verse">Sub Sortsample()<br />'xlAscending:昇順　lDescending：降順<br />Range("<strong><span style="color: #ff0000;">並び替えたい範囲</span></strong>").Sort Key1:=Range("A1"), Order1:=<strong><span style="color: #339966;">xlDescending</span></strong><br />End Sub</pre>
<p>

</p>
<p><strong><span style="color: #339966;"><span class="bold red" style="color: #ff0000;"><span style="color: #ff0000;">並び替えたい範囲</span></span></span></strong><span style="color: #000000;">はカスタムして使用してください。<br />Order1には「<span style="color: #339966;"><strong>xlAscending</strong></span>:昇順」または「<span style="color: #339966;"><strong>xlDescending</strong></span>：降順」を当てはめてください。<br /></span></p>
<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎構文の説明</span></h2>
<p>

</p>
<p>まず、使用するメソッドについてです。<span class="marker-under"><strong>使用するのは「Sortメソッド」</strong></span>になります。<br />Sortメソッドの基本的な構文は以下の通りです。</p>
<p>

</p>
<div class="information-box common-icon-box"><strong><span style="color: #ff0000;">範囲</span>.Sort Key1:=<span style="color: #0000ff;">キー範囲</span>, Order1:=<span style="color: #339966;">昇順/降順</span>, Key2:=<span style="color: #0000ff;">キー範囲</span>, Order2:=<span style="color: #339966;">昇順/降順</span>, &#8230;</strong></div>
<div>
<p>・<strong><span style="color: #ff0000;">範囲</span></strong>: 並び替えたいセルの範囲を指定します。<br />・<strong><span style="color: #0000ff;">キー範囲</span></strong> :並び替えの基準となるセルの範囲を指定します。<br />・<strong><span style="color: #339966;">昇順/降順</span></strong>: キー範囲での並び順を指定します。</p>
<p>この構文を使用して、セルの並び替えを行うことができます。</p>
</div>
<p>

</p>
<p>

</p>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc4">昇順・降順で並び替え</span></h2>
<p>

</p>
<h3 class="wp-block-heading"><span id="toc5">・昇順で並び替え</span></h3>
<p>まず、<span class="marker-under"><strong>昇順で並び替え</strong></span>をしてみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" class="alignnone wp-image-4433 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-44.png" width="168" height="262" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-44.png 271w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-44-193x300.png 193w" sizes="(max-width: 168px) 100vw, 168px" /></p>
<p><strong><span style="color: #ff0000;">A1からA10</span></strong>のセルに文数値が入力されてあります。<br />こちらを<span style="color: #339966;"><strong>昇順</strong></span>に並び替えてみたいと思います。</p>
<p>では再度構文を見てみましょう。</p>
<div class="information-box common-icon-box"><strong><span style="color: #ff0000;">範囲</span>.<span class="marker-under">Sort</span> Key1:=<span style="color: #0000ff;">キー範囲</span>, Order1:=<span style="color: #339966;">昇順/降順</span></strong></div>
<div><span style="color: #ff0000;"><span style="color: #000000;">見本では</span></span><strong><span style="color: #ff0000;">範囲</span></strong><span style="color: #000000;">はA1からA10になります。<br /><strong><span style="color: #3366ff;">キー範囲</span></strong>は並び替えの基準となるセルなので先頭のA1になります。<br /><strong><span style="color: #339966;">昇順/降順</span></strong><span style="color: #339966;"><span style="color: #000000;">は今回は昇順なのでxlAscendingとなります。</span></span><br /></span></div>
<p>

</p>
<div>
<p>では見本を並び替えてみましょう。<br />ソースコードはこちらです。</p>
</div>
<div class="blank-box bb-yellow">
<p>Sub AscendingSort()<br />Range(&#8220;<strong><span style="color: #ff0000;">A1:A10</span></strong>&#8220;)<span class="marker-under"><strong>.Sort</strong> </span>Key1:=Range(&#8220;<strong><span style="color: #3366ff;">A1</span></strong>&#8220;), Order1:=<span style="color: #339966;"><strong>xlAscending</strong></span><br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" class="alignnone wp-image-4435 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-46.png" width="196" height="333" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-46.png 251w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-46-177x300.png 177w" sizes="(max-width: 196px) 100vw, 196px" /></p>
<p>狙い通り、昇順に並び替えすることが出来ました。</p>
<h3 class="wp-block-heading"><span id="toc6">・降順で並び替え</span></h3>
<p>今度は<span class="marker-under"><strong>降順で並び替え</strong></span>をしてみましょう。<br />下図の見本をご覧ください。</p>
<p><img decoding="async" class="alignnone wp-image-4433 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-44.png" width="168" height="262" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-44.png 271w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-44-193x300.png 193w" sizes="(max-width: 168px) 100vw, 168px" /></p>
<p>では再度構文を見てみましょう。</p>
<div class="information-box common-icon-box"><strong><span style="color: #ff0000;">範囲</span>.<span class="marker-under">Sort</span> Key1:=<span style="color: #0000ff;">キー範囲</span>, Order1:=<span style="color: #339966;">昇順/降順</span></strong></div>
<div><span style="color: #000000;"><br /><span style="color: #339966;"><span style="color: #000000;">今回、</span></span><strong><span style="color: #339966;">昇順/降順</span></strong>は降順なので<strong><span style="color: #339966;">xlDescending</span></strong>となります。<br /></span></div>
<p>

</p>
<div>
<p>では見本を並び替えてみましょう。<br />ソースコードはこちらです。</p>
</div>
<div class="blank-box bb-yellow">
<p>Sub DescendingSort()<br />Range(&#8220;<strong><span style="color: #ff0000;">A1:A10</span></strong>&#8220;)<span class="marker-under"><strong>.Sort</strong> </span>Key1:=Range(&#8220;<strong><span style="color: #3366ff;">A1</span></strong>&#8220;), Order1:=<span style="color: #000000;"><strong><span style="color: #339966;">xlDescending</span></strong></span><br />End Sub</p>
</div>
<div>
<p>それでは実行してみましょう。</p>
<p><img decoding="async" class="alignnone wp-image-4436 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-47.png" width="176" height="294" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-47.png 245w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-47-180x300.png 180w" sizes="(max-width: 176px) 100vw, 176px" /></p>
<p>狙い通り、昇順に並び替えすることが出来ました。</p>
</div>
</div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc7">&#x2b1b;︎単一範囲と複数範囲の並び替え</span></h2>
<p>以下では、単一範囲と複数範囲の並び替えの方法を説明します。</p>
<h3><span id="toc8">・単一範囲の並び替え</span></h3>
<p>まずは<span class="marker-under"><strong>単一範囲の並び替え</strong></span>の方法です。先ほど紹介してきたソースコードと同じですね。<br />以下のソースコードをご覧ください。</p>
<div class="blank-box bb-blue">Sub セルの並び替え()<br />Range(&#8220;A1:A10&#8221;).Sort Key1:=Range(&#8220;A1&#8221;), Order1:=xlAscending<br />End Sub</div>
<p>このソースコードでは、A1からA10の範囲をA1を基準に昇順で並び替えています。</p>
<p>必要に応じて、範囲や基準セル、並び順を変更してください。</p>
<h3><span id="toc9">・複数範囲の並び替え</span></h3>
<p>次に、複<span class="marker-under"><strong>数範囲の並び替え</strong></span>の方法です。以下のソースコードをご覧ください。</p>
<div class="blank-box bb-blue">Sub セルの並び替え()<br />With Range(&#8220;A1:B10&#8221;)<br />.Sort Key1:=.Columns(1), Order1:=xlAscending, Key2:=.Columns(2), Order2:=xlDescending<br />End With<br />End Sub</div>
<p><br />このソースコードでは、<span class="marker-under"><strong>A1からB10の範囲を、A列を基準に昇順、B列を基準に降順で並び替え</strong></span>ています。</p>
<p>必要に応じて、範囲や基準セル、並び順を変更してください。</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc10">&#x2b1b;︎よくあるエラーと対処法</span></h2>
<p>

</p>
<p>VBAのソートに関連するよくあるエラーのいくつかとその対処法を説明します。</p>
<h3 class="wp-block-heading"><span id="toc11">1. &#8220;実行時エラー &#8216;1004&#8217;:ソートする範囲が正しくありません</span></h3>
<p>このエラーは、ソート範囲が正しく指定されていない場合に発生することがあります。<br />ソートする範囲がデータが含まれているセル範囲でなければなりません。</p>
<p><span class="marker-blue"><strong>対処法</strong></span><br /> ソートするデータが正しく指定されていることを確認します。<br /> ソートする範囲が正しく指定されているか、データが含まれているセルを選択しているかを確認します。</p>
<h3><span id="toc12">2. &#8220;実行時エラー &#8216;438&#8217;:オブジェクトはこのプロパティまたはメソッドをサポートしていません</span></h3>
<p>このエラーは、ソートを実行しようとするオブジェクトがソートメソッドをサポートしていない場合に発生することがあります。<br />たとえば、ソートしようとするオブジェクトがWorksheetオブジェクトではない場合にこのエラーが発生することがあります。</p>
<p><span class="marker-blue"><strong>対処法</strong></span><br />ソートメソッドを使用する前に、正しいオブジェクトを参照していることを確認してください。<br />ソート対象のデータが含まれているWorksheetオブジェクトを適切に指定していることを確認します。</p>
<h3><span id="toc13">3. &#8220;実行時エラー &#8217;91&#8217;:オブジェクト変数または With ブロック変数が設定されていません</span></h3>
<p>このエラーは、オブジェクト変数が設定されていない状態でソートを実行しようとした場合に発生することがあります。<br />ソートするデータを含むオブジェクトが正しく設定されていない可能性があります。</p>
<p><span class="marker-under-blue"><strong>対処法</strong></span><br />ソートを実行する前に、ソート対象のデータを含むオブジェクトを正しく設定していることを確認します。<br />必要に応じてオブジェクトを初期化し、適切に設定してからソートメソッドを呼び出します。</p>
<h2><span id="toc14">■練習問題</span></h2>
<p>練習問題も別の記事でまとめているので是非参考にしてみてください！</p>
<div class="alert-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c14%e3%80%91%e6%95%b0%e5%80%a4%e3%82%92%e6%98%87%e9%a0%86%e3%83%bb%e9%99%8d%e9%a0%86%e3%81%ab%e4%b8%a6%e3%81%b3%e6%9b%bf/">【マクロVBA練習問題14】数値を昇順・降順に並び替える！Sortで並び替えを実行 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>

</p>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc15">&#x2b1b;︎公式の説明</span></h2>
<p>

</p>
<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br />マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>
<p>

</p>
<div class="question-box common-icon-box"><a href="https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.sort">Range.Sort メソッド (Excel) | Microsoft Learn</a></div>
<p>

</p>
<h2 class="wp-block-heading"><span id="toc16">&#x2b1b;︎まとめ</span></h2>
<p>

</p>
<p>いかがだったでしょうか？</p>
<p>以上がマクロVBAでのセルの並び替え（sort）についての紹介でした。</p>
<p>Sortメソッドを使用することで、Excelのデータを効率的に整理することができます。</p>
<p>セルの並び替えは、範囲や基準セル、並び順を適切に指定することで正確な結果を得ることができます。</p>
<p>ソースコードの見本を参考にしながら、自身のデータに応じた並び替えを行ってみてください。</p>
<p>

</p>
<p>

</p>
<p>それでは次回の記事でお会いしましょう。</p>
<p></p>
<p>&nbsp;</p>]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e6%98%87%e9%a0%86%e3%83%bb%e9%99%8d%e9%a0%86%e3%81%ab%e4%b8%a6%e3%81%b3%e6%9b%bf%e3%81%88%e6%8c%87%e5%ae%9a%e7%af%84%e5%9b%b2%e3%82%92sort%e3%83%a1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4431</post-id>	</item>
		<item>
		<title>【マクロVBA】IsNumeric関数を使って数値判定！変数・セルの値でも数字であるか判別可能</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91isnumeric%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%95%b0%e5%80%a4%e5%88%a4%e5%ae%9a%ef%bc%81%e5%a4%89%e6%95%b0%e3%83%bb%e3%82%bb/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591isnumeric%25e9%2596%25a2%25e6%2595%25b0%25e3%2582%2592%25e4%25bd%25bf%25e3%2581%25a3%25e3%2581%25a6%25e6%2595%25b0%25e5%2580%25a4%25e5%2588%25a4%25e5%25ae%259a%25ef%25bc%2581%25e5%25a4%2589%25e6%2595%25b0%25e3%2583%25bb%25e3%2582%25bb</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91isnumeric%e9%96%a2%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%95%b0%e5%80%a4%e5%88%a4%e5%ae%9a%ef%bc%81%e5%a4%89%e6%95%b0%e3%83%bb%e3%82%bb/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 06 Jul 2023 13:36:21 +0000</pubDate>
				<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[数値]]></category>
		<category><![CDATA[IsNumeric]]></category>
		<category><![CDATA[判断]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4423</guid>

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

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

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

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

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題20について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>強制終了・途中終了・ループ抜け出す練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル番地<span class="marker-under"><strong>A1からA10まで順番に数値を2倍にしていき、C列に出力する。その数値が100を超えた場合に処理を終了</strong></span>する。</p>
<p><img decoding="async" width="1079" height="374" class="alignnone wp-image-4419 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37.png 1079w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37-300x104.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37-1024x355.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-37-768x266.png 768w" sizes="(max-width: 1079px) 100vw, 1079px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>BAを使用して、セル番地A1からA10までの数値を順番に2倍にしてC列に出力します。</p>
<p>処理中、出力した数値が100を超えた場合には処理を終了します。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>ループ構造を使用して、セルの範囲を順番に処理します。</p>
<p>ループ変数を使用して、セルの行番号や列番号を更新していく方法を考えてみましょう。</p>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>条件を満たすと繰り返し処理抜け出す必要があります。</p>
<p><span class="marker-under"><strong>例えば「For Next」で繰り返し処理をしている場合は、「Exit For」でループを抜け出します</strong></span>。</p>
<h3><span id="toc10">・ヒントその3</span></h3>
<p>条件を満たすと強制終了する必要があります。</p>
<p>こちらはとてもシンプルで<span class="marker-under"><strong>「Exit Sub」で強制終了</strong></span>ができます。</p>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc11">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc12">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise20to1()<br />Dim row As Integer<br />Dim value As Double<br /><br />For row = 1 To 10<br />　value = Cells(row, 1).value * 2<br />　Cells(row, 3).value = value<br />　　If value &gt; 100 Then<br />　　　<span style="color: #3366ff;"><strong>Exit For</strong></span><br />　　End If<br />Next row<br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードもセル番地A1からA10までの数値を順番に2倍にし、C列に出力するものです。</p>
<p>処理中、出力した数値が100を超えた場合には処理を終了します。</p>
</div>
<div class="st-yellow blank-box sticky">
<p><span class="marker-red" style="font-size: 24px;"><strong>解答コードのポイント</strong></span></p>
<p>1. rowというループ変数を使用して、行番号を順番に更新します。<br />2. value変数にセルの値を2倍にした結果を代入します。<br />3. Range(&#8220;A&#8221; &amp; row).Valueのようにセル番地を文字列と結合して指定します。<br />4. Range(&#8220;B&#8221; &amp; row).Value = valueのようにB列に結果を出力します。<br />5. If value &gt; 100 Then <span style="color: #3366ff;"><strong>Exit For</strong></span>によって、<span class="marker-under"><strong>数値が100を超えた場合にループを終了</strong></span>します。</p>
</div>
<div class="st-yellow">
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="443" height="312" class="alignnone wp-image-4420 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-38.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-38.png 443w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-38-300x211.png 300w" sizes="(max-width: 443px) 100vw, 443px" /></p>
<p><span class="marker-under"><strong>A6で100を超えたので、ループを抜け出すことが出来ました。</strong></span><br /><br /></p>
</div>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise20to2()<br />Dim row As Integer<br />Dim value As Double<br /><br />For row = 1 To 10<br />　value = Cells(row, 1).value * 2<br />　Cells(row, 3).value = value<br />　　If value &gt; 100 Then<br />　　　<span style="color: #ff0000;"><strong>Exit Sub</strong></span><br />　　End If<br />Next row<br />End Sub</p>
</div>
<div>
<p>先ほどは条件を満たすと、ループを抜け出す方法でしたが、今回は<span class="marker-under"><strong>「強制終了」で処理</strong></span>しています。</p>
</div>
<p>条件を満たすと<span class="marker-under"><strong>「<span style="color: #3366ff;">Exit Sub</span>」で強制終了</strong></span>する仕組みです。</p>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc14">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc15">ループ構造</span></h3>
<p>繰り返し処理をするために、セル範囲内の各セルを順番に読み取るループ構造が必要です。 <br />For Nextループを使った反復処理を利用した反復処理について理解しておくと良いでしょう。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【マクロVBA】For…Nextで指定した数値で繰り返し・ループをする方法と途中で抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>これらの知識を応用して、問題を解くためのコードを作成しましょう。  </p>
<h3><span id="toc16">ループの抜け出し・強制終了</span></h3>
<p> VBAでは、ループ処理をよく使用しますが、途中でループ処理を中断したい場合があると思います。<br />その際は「<strong><span style="color: #3366ff;">Exit For</span></strong>」を使用してループ処理を抜け出します。</p>
<p>さらに強制終了では「<span style="color: #3366ff;"><strong>Exit Sub</strong></span>」を使用することで直ちに処理を終了することが出来ます。</p>
<p>場面によって使い分けてください。</p>
<div class="blank-box sticky st-yellow"><span style="color: #ff0000;"><strong>ループ抜け出し</strong></span>：<strong><span style="color: #3366ff;">Exit For</span></strong><br /><span style="color: #ff0000;"><strong>強制終了</strong></span>：<span style="color: #3366ff;"><strong>Exit Sub</strong></span></div>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、Excel VBAの基本的な概念と構文に触れながら、セルの操作やループ処理、条件分岐の活用方法を学ぶことができます。</p>
<p>具体的には、セル番地を指定して値を読み取ったり書き込んだりする方法、<br />ループ構造を使ってセル範囲を順番に処理する方法、条件分岐を使用して特定の条件に基づいて処理を終了する方法などが含まれています。</p>
<p>これらの基本的な知識と技術を身につけることで、VBAを使用してExcelの操作を自動化する能力を向上させることができます。<br />また、問題の難易度を徐々に上げることで、より高度なVBAのスキルを磨くことができます。</p>
<p>練習問題を通じて、VBAの基礎を学びながら自身のスキルを向上させていきましょう。<br />練習問題は段階的に難しくなっていくので、自分のペースで取り組むことをおすすめします。</p>
<p>以上が練習問題20となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4418</post-id>	</item>
		<item>
		<title>【マクロVBA練習問題19】文字列を連結・つなげる！複数の文字・数値・セル・変数をつなげて表示</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c19%e3%80%91%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e9%80%a3%e7%b5%90%e3%83%bb%e3%81%a4%e3%81%aa%e3%81%92%e3%82%8b%ef%bc%81/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%25b7%25b4%25e7%25bf%2592%25e5%2595%258f%25e9%25a1%258c19%25e3%2580%2591%25e6%2596%2587%25e5%25ad%2597%25e5%2588%2597%25e3%2582%2592%25e9%2580%25a3%25e7%25b5%2590%25e3%2583%25bb%25e3%2581%25a4%25e3%2581%25aa%25e3%2581%2592%25e3%2582%258b%25ef%25bc%2581</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 05 Jul 2023 14:28:26 +0000</pubDate>
				<category><![CDATA[文字操作]]></category>
		<category><![CDATA[マクロVBA練習問題]]></category>
		<category><![CDATA[練習問題]]></category>
		<category><![CDATA[連結]]></category>
		<category><![CDATA[＆]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[文字]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4409</guid>

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

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

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

<h2 class="wp-block-heading"><span id="toc1">練習問題と内容について</span></h2>
<!-- /wp:post-content -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc2">・練習問題の狙い</span></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>このシリーズでは課題を元にマクロVBAを<span class="marker-under-red"><strong>実践することでスキルを身につける</strong></span>ことが出来ます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>正直、ソースコード作成については実践あるのみです！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>問い合わせから連絡ください！  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>こんな問題を作ってほしいなどの意見もお待ちしております！</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc3">・練習問題18について</span></h3>
<p>こちらはマクロVBAの知識で少し発展した課題になります。</p>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="marker-under"><strong>指定されたセルのうち、数式が含まれているセルの個数を表示する練習問題</strong></span>となります。</p>
<p>それでは頑張っていきましょう！</p>
<h2 class="wp-block-heading"><span id="toc4">練習問題の内容と動作説明</span></h2>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><span id="toc5">問題内容</span></h3>
<p>セル番地<span class="marker-under"><strong>A1からA10までのセルのうち、数式が含まれているセルの個数を表示</strong></span>する。</p>
<p><img decoding="async" class="alignnone wp-image-4405 " src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-32.png" width="671" height="402" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-32.png 830w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-32-300x180.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-32-768x460.png 768w" sizes="(max-width: 671px) 100vw, 671px" /></p>
<h3 class="wp-block-heading"><span id="toc6">動作説明</span></h3>
<p>VBAを使用して、指定されたセル範囲内に含まれる数式を検出し、その数をカウントして表示します。</p>
<p>この問題では、セル番地A1からA10までのセルのうち、数式が含まれているセルの個数を求める必要があります。</p>
<h2 class="wp-block-heading"><span id="toc7">ヒント</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><img decoding="async" class="alignnone  wp-image-4222" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg" alt="" width="458" height="305" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-300x200.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1024x683.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-768x512.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m-1536x1024.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/25232784_m.jpg 1920w" sizes="(max-width: 458px) 100vw, 458px" /> <br />以下のヒントを参考にして解答コードを作成してみてください。</p>
<h3><span id="toc8">・ヒントその1</span></h3>
<p>セルに値を表示するためには、Rangeオブジェクトを使用します。<br />セル番地を指定して該当するセルオブジェクトを取得し、計算する必要があります。</p>
<p>セル範囲を指定するには、<span class="marker-under"><strong>Range(&#8220;D1:D5&#8221;)というように範囲の開始セルと終了セルを指定</strong></span>します</p>
<h3><span id="toc9">・ヒントその2</span></h3>
<p>セルの<span class="marker-under"><strong>数式を判定</strong></span>するためには、<span class="marker-under"><strong>RangeオブジェクトのHasFormulaプロパティ</strong></span>を使用します。</p>
<p>数式が含まれている場合、Formulaプロパティはその数式を返します。</p>
<p>使用方法は下記の通りです。</p>
<div class="information-box common-icon-box">If <span style="color: #ff0000;"><strong>対象のセル</strong></span>.<span class="marker-under"><strong>HasFormula</strong></span> Then<br />　’数式だった場合の処理<br />End If</div>
<h3><span id="toc10">・ヒントその3</span></h3>
<p>ループを使用してセルを一つずつ調べ、数式が含まれているセルをカウントします。</p>
<p>カウンター変数を使い、数式が含まれているセルが見つかるたびにカウントアップします。</p>
<p>&nbsp;</p>
<p>以上のヒントを参考に課題に取り組んでみてください！</p>
<p>&nbsp;</p>
<div class="blank-box bb-tab bb-good bb-red">最新・便利な機能を搭載したExcel・officeを試しませんか？ <br />Excel 2013以下を使用している方はサポートが終了しているので注意が必要です！<br /><a href="https://dokugakuexcel.com/excel%e3%83%bboffice%e3%81%ae%e4%be%a1%e6%a0%bc%e6%af%94%e8%bc%83%ef%bc%81%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ab%e5%90%88%e3%81%a3%e3%81%9f%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a3%bd%e5%93%81/">【最新2023年】Excel・Officeの価格比較！あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div> </div>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><span id="toc11">解答コード</span></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>では回答を見ていきましょう！</p>
<p><img decoding="async" class="alignnone  wp-image-4274" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg" alt="" width="399" height="299" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-300x225.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1024x768.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-768x576.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728-1536x1152.jpg 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23623728.jpg 1600w" sizes="(max-width: 399px) 100vw, 399px" /></p>
<h3><span id="toc12">・回答その①</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise18to1()<br />Dim <strong><span style="color: #3366ff;">cell</span> </strong>As Range<br />Dim <strong><span style="color: #ff0000;">formulaCount</span> </strong>As Integer<br /><br /><strong><span style="color: #ff0000;">formulaCount</span> </strong>= 0<br /><br />For Each <strong><span style="color: #3366ff;">cell</span> </strong>In Range(&#8220;A1:A10&#8221;)<br />If <strong><span style="color: #3366ff;">cell</span> </strong>.<span class="marker-under"><strong>HasFormula</strong></span> Then<br /><strong><span style="color: #ff0000;">formulaCount</span> </strong>= <strong><span style="color: #ff0000;">formulaCount</span> </strong>+ 1<br />End If<br />Next <strong><span style="color: #3366ff;">cell</span> </strong><br /><br />Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">formulaCount</span> </strong><br />End Sub</p>
</div>
<div class="st-yellow">
<p>上記のコードは、セル番地A1からA10までのセルのうち、数式が含まれているセルの個数を表示するVBAのマクロです。</p>
<p>この解答コードでは、ループを使用して指定されたセル範囲内の各セルを調べ、<br /><span class="marker-under"><strong>HasFormulaプロパティを使用して数式が含まれているかどうかを判定</strong></span>しています。</p>
<p>数式が含まれている場合、<strong><span style="color: #ff0000;">formulaCount</span> </strong>変数をカウントアップします。</p>
<p>最後に、C2に数式が含まれるセルの個数を表示します。</p>
<p>それでは実行してみましょう。<br />結果はこのようになります。</p>
<p><img decoding="async" width="593" height="315" class="alignnone wp-image-4406 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-33.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-33.png 593w, https://dokugakuexcel.com/wp-content/uploads/2023/07/Pasted-33-300x159.png 300w" sizes="(max-width: 593px) 100vw, 593px" /></p>
<p><span class="marker-under"><strong>A1からA10のうち、数式は「4つ」</strong></span>あることがわかりました。<br />A2.A3.A6.A7で数式を使用しているので上手く機能していますね。</p>
</div>
<h3><span id="toc13">・回答その②</span></h3>
<div class="blank-box bb-tab bb-check bb-blue">
<p>Sub Exercise18to2()<br />Dim <strong><span style="color: #ff0000;">formulaCount</span> </strong> As Integer<br />Dim i As Integer<br /><br /><strong><span style="color: #ff0000;">formulaCount</span> </strong>= 0<br /><br />For i = 1 To 10<br />If Cells(i, 1).<span class="marker-under"><strong>HasFormula</strong></span> Then<br /><strong><span style="color: #ff0000;">formulaCount</span> </strong>= <strong><span style="color: #ff0000;">formulaCount</span> </strong>+ 1<br />End If<br />Next i<br /><br />Range(&#8220;C2&#8221;).Value = <strong><span style="color: #ff0000;">formulaCount</span> </strong><br />End Sub</p>
</div>
<div>
<p>上記のコードでは、Cells関数を使用してセルの範囲を指定し、HasFormulaプロパティを使用して数式の有無を判定しています。</p>
<p>ループを使用してセルを一つずつ調べ、数式が含まれている場合には、<strong><span style="color: #ff0000;">formulaCount</span></strong>変数をカウントアッップします。</p>
<p>回答その①と異なる点はループの方法です。<br />先ほどは「For Eachループ」を使用しましたが、<span class="marker-under-red"><strong>今回は「For Nextループ」を使用</strong></span>しています。</p>
</div>
<p>&nbsp;</p>
<p>  <img decoding="async" id="thepasted-1" class="alignnone  wp-image-4221" src="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png" alt="" width="436" height="327" srcset="https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-300x225.png 300w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1024x768.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-768x576.png 768w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909-1536x1152.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2023/06/23195909.png 1600w" sizes="(max-width: 436px) 100vw, 436px" /></p>
<h2 class="wp-block-heading"><span id="toc14">必要な知識</span></h2>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>この問題を解くためには、以下の基本的な知識が必要です。</p>
<h3><span id="toc15">ループ構造</span></h3>
<p>練習問題で使用した繰り返し処理を行うためにはループ構造が必要です。 <br />For Nextループを使った反復処理や、Forループを使ったカウンターを利用した反復処理について理解しておくと良いでしょう。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【マクロVBA】For…Nextで指定した数値で繰り返し・ループをする方法と途中で抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-10%e3%80%91for-eath-%e3%81%a7%e9%85%8d%e5%88%97%e3%83%bb%e3%82%b3%e3%83%ac%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e5%86%85%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97/">【マクロVBA】For Eath Nextで配列・コレクション内で繰り返し・ループ処理!抜け出す方法 ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<p>これらの知識を応用して、問題を解くためのコードを作成しましょう。  </p>
<h3><span id="toc16">HasFormulaプロパティ</span></h3>
<p>セルが数式を持っているかどうかを判定するために、HasFormulaプロパティを使用します。</p>
<p>セルのHasFormulaプロパティは、セルが数式を持っている場合にTrueを返します。</p>
<div class="information-box common-icon-box"><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%82%bb%e3%83%ab%e3%81%8c%e6%95%b0%e5%bc%8f%e3%82%92%e5%90%ab%e3%82%93%e3%81%a7%e3%81%84%e3%82%8b%e3%81%8b%e5%88%a4%e6%96%ad%e3%83%bb%e5%88%a4/">【マクロVBA】セルが数式を含んでいるか判断・判定する方法！HasFormula関数で簡単チェック！ ► 独学エクセル塾 (dokugakuexcel.com)</a></div>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<p>この練習問題では、VBAを使用してセル番地A1からA10までのセルのうち、数式が含まれているセルの個数を求める方法について学びました。</p>
<p>具体的には、Rangeオブジェクトとループ構造を組み合わせて、セルの範囲内に数式が含まれているかどうかを判定し、<br />数式が含まれているセルの個数をカウントしました。</p>
<p>VBAを使うことで、Excelの操作をより効率的に行うことができます。</p>
<p>この練習問題を通じて、ループ構造やRangeオブジェクトの使用方法を習得し、さらに応用的な操作や処理にも挑戦していきましょう。</p>
<p>次の練習問題では、さらに複雑なVBAの使用例に取り組んでいきますので、順番に解いていくことでスキルを向上させていきましょう。</p>
<p>以上が練習問題18となります。お疲れ様でした！</p>]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4404</post-id>	</item>
	</channel>
</rss>
