<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>数式  |  独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/tag/%e6%95%b0%e5%bc%8f/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Thu, 13 Jul 2023 07:18:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>数式  |  独学エクセル塾</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】セルが数式を含んでいるか判断・判定する方法！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 class="wp-block-paragraph">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-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんな事ができるようになる！</a></li><li><a href="#toc2" tabindex="0">■構文</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎忙しい人向けのコピペ用ソースコード</a></li><li><a href="#toc4" tabindex="0">■セルが数式を含んでいるか確認する方法</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 class="wp-block-paragraph">・セルが数式を含んでいるかどうかを判断できるようになる</p>
<p><img fetchpriority="high" 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 class="wp-block-paragraph">

</p>
<h2 class="wp-block-heading"><span id="toc14">&#x2b1b;︎公式の説明</span></h2>
<p>

</p>
<p class="wp-block-paragraph">わかりやすいように説明したため公式と使用する語句が異なりますが<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 class="wp-block-paragraph">

</p>
<h2 class="wp-block-heading"><span id="toc15">&#x2b1b;︎まとめ</span></h2>
<p>

</p>
<p class="wp-block-paragraph">いかがだったでしょうか？</p>
<p>HasFormula関数を使用することで、マクロVBAでセルが数式を含んでいるかどうかを簡単に判断することができます。</p>
<p>この関数を活用することで、特定のセルに数式が含まれている場合に適切な処理を行うことができます。</p>
<p>この記事ではHasFormula関数の使い方や注意点について解説しました。<br />VBAを使ったExcelデータ処理で数式の判定が必要な場合は、HasFormula関数を活用して効率的な処理を行いましょう。</p>
<p>それでは次回の記事でお会いしましょう。</p>
<p>

</p>
<p class="wp-block-paragraph">

</p>
<p class="wp-block-paragraph">&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練習問題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-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">・練習問題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>
