<?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/%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sun, 16 Oct 2022 13:02:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>アクティブ  |  独学エクセル塾</title>
	<link>https://dokugakuexcel.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">194648711</site>	<item>
		<title>【マクロVBA】ブックを開いているか確認し、開いていなければ開く（Open)開いてあればアクティブに</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%8b%e3%81%84%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d%e3%81%97%e3%80%81%e9%96%8b%e3%81%84/?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%2583%2596%25e3%2583%2583%25e3%2582%25af%25e3%2582%2592%25e9%2596%258b%25e3%2581%2584%25e3%2581%25a6%25e3%2581%2584%25e3%2582%258b%25e3%2581%258b%25e7%25a2%25ba%25e8%25aa%258d%25e3%2581%2597%25e3%2580%2581%25e9%2596%258b%25e3%2581%2584</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%8b%e3%81%84%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d%e3%81%97%e3%80%81%e9%96%8b%e3%81%84/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 18 Jul 2022 12:46:49 +0000</pubDate>
				<category><![CDATA[ブック操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[BOOK]]></category>
		<category><![CDATA[開いているか]]></category>
		<category><![CDATA[アクティブ]]></category>
		<category><![CDATA[ActivE]]></category>
		<category><![CDATA[ブック]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3368</guid>

					<description><![CDATA[ブックを開く機能に「Open」という機能があります。ブックを経由して入力・出力する際によく用いられる機能です。 しかし、複数のファイルを開いて処理する場合に既に開いてあるブックを再度開こうとすると、それまでの入力した値が [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ブックを開く機能に「Open」という機能があります。<br>ブックを経由して入力・出力する際によく用いられる機能です。</p>



<p>しかし、複数のファイルを開いて処理する場合に既に開いてあるブックを再度開こうとすると、それまでの入力した値が上書きされてしまったりしてしまいます。</p>



<p>そこで今回は<span class="marker-under"><strong>指定したブックが開いてあれば、そのブックをアクティブにして<br>開いていなければブックを開く方法を紹介</strong></span>したいとおもいます。</p>



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




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■忙しい人向けのコピペ用プログラム</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎こんなことができるようになる！</a></li><li><a href="#toc3" tabindex="0">■知っておきたい知識</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎ブックが開いてあるか確認する</a></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎結果を元に処理方法を設定する</a><ol><li><a href="#toc6" tabindex="0">・対象のブックが開いてなければ対象ブックを開く</a></li><li><a href="#toc7" tabindex="0">・対象ブックが開いてあった場合の処理方法を追加</a></li></ol></li><li><a href="#toc8" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

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



<p><span class="bold-red">赤字</span>の対象ブック名と<span class="bold-blue">青文字</span>の対象ファイルパスを打ち換えて使用してください</p>



<pre class="wp-block-verse">Sub ブックAを開いているか確認()
Dim OpenBook As Workbook, Flag As Boolean
Flag = False
　
For Each OpenBook In Workbooks
If OpenBook.Name = "<span class="bold-red">対象ブック名</span>.xlsx" Then
Flag = True
End If
Next
　
If Flag = True Then
Workbooks("<span class="bold-red">対象ブック名</span>").Activate
Else
Workbooks.Open "<span class="bold-blue">対象ファイルパス</span>\<span class="bold-red">対象ブック名</span>.xlsx"
End If
　
End Sub</pre>



<p></p>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎こんなことができるようになる！</span></h2>



<p>・ブックが開いてあるか確認して、開いていなければ開くことができるようになる。<br>・開いている場合の処理方法を設定できる</p>



<h2 class="wp-block-heading"><span id="toc3">■知っておきたい知識</span></h2>



<p>・ブックを開く・アクティブにするといったブック操作の基礎的な知識</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-16%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%8b%e3%81%8f%e3%83%bb%e4%bd%9c%e6%88%90%e3%83%bb%e5%90%8d%e5%89%8d%e3%81%ae%e5%a4%89/">【マクロVBA知識 16】ブックを開く・作成・名前の変更・フォルダの移動・保存・閉じる ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>・「If Then」での条件分岐の処理知識</p>



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



<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎ブックが開いてあるか確認する</span></h2>



<p>では実際にブックが開いてあるか説明したいと思います。<br>まずは下図の見本をご覧ください。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="724" height="284" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-27.png" alt="" class="wp-image-3369" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-27.png 724w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-27-300x118.png 300w" sizes="(max-width: 724px) 100vw, 724px" /></figure>



<p><strong><span class="marker-under-red">「ブックA」</span></strong>というファイルを用意しました。<br>今回はこの<strong><span class="marker-under">「ブックA」が開いてあるか確認してみようと思います</span></strong>。</p>



<p>使用する機能は<strong><span class="marker-under">「For Each」の繰り返し動作</span></strong>と<strong><span class="marker-under">「true・False」</span></strong>です。<br>ではプログラムを見ていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ブックAを開いているか確認()</p><p>Dim OpenBook As Workbook, Flag As Boolean</p><p>Flag = False</p><p>　<br>For Each OpenBook In Workbooks&#8217;開いているブックの格納繰り返し</p><p>If OpenBook.Name = &#8220;ブックA.xlsx&#8221; Then<br>Flag = True<br>End If</p><p>Next</p><p>　</p><p>End Sub</p></blockquote>



<p>では解説です。<br><strong><span class="marker-under">「For Each 変数 Workbooks」で開いてるブックを繰り返し変数に格納</span></strong>します。<br>見本では変数を「OpenBook」としてますが、可能な文字であれば何でも構いません。</p>



<p>例えば「ブックA」「ブックB」「ブックC」を開いていると初めにブックAを変数に格納して<br>nextで次の繰り返しになった際には「ブックB」と続いていきます。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="240" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-28-1024x240.png" alt="" class="wp-image-3370" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-28-1024x240.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-28-300x70.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-28-768x180.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-28.png 1183w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>そして<strong><span class="marker-under">全てのブックを変数に格納し終えたら繰り返しを終了</span></strong>します。</p>



<p>この繰り返し動作の中にIfで対象のシートの名前か判断をします。<br>対象の名前と変数のブック名が等しい場合は<strong><span class="marker-under">変数「Flag」に「true」を格納</span></strong>します。</p>



<p>初めに変数「Flag」には「False」を格納しているので繰り返し開いたブックの中に<br><strong><span class="marker-under">対象のブックがなければ「False」のままという仕組み</span></strong>です。<br>つまり、<strong><span class="marker-under">既にブックが開いて有れば変数「Flag」は「true」</span></strong>ということです。</p>



<p>ではこちらを応用して実際の活用法をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc5">&#x2b1b;︎結果を元に処理方法を設定する</span></h2>



<h3 class="wp-block-heading"><span id="toc6">・対象のブックが開いてなければ対象ブックを開く</span></h3>



<p>では実際に活用してみましょう。<br>早速プログラムを紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ブックAを開いているか確認()</p><p>Dim OpenBook As Workbook, Flag As Boolean</p><p>Flag = False</p><p>　<br>For Each OpenBook In Workbooks</p><p>If OpenBook.Name = &#8220;ブックA.xlsx&#8221; Then<br>Flag = True<br>End If</p><p>Next</p><p>　</p><p>If Flag = False Then<br>Workbooks.Open &#8220;C:\Users\ABC\Desktop\ブックA.xlsx&#8221;<br>End If</p><p>　</p><p>End Sub</p></blockquote>



<p>では解説に移ります。<br>対象のブックが<strong><span class="marker-under">開いてあれば変数「Flag」が「true」</span></strong>というのは先ほどの説明しました。<br>こちらをさらにIfで条件分岐させます。</p>



<p>見本のプログラムでは<strong><span class="marker-under">変数「Flag」が「False」だと「ブックA」を開く</span></strong>ようにしています。</p>



<p>これでブックが開いて有れば何もせずに、開いてない場合だけ、対象のブックを開くプログラムの完成です。</p>



<h3 class="wp-block-heading"><span id="toc7">・対象ブックが開いてあった場合の処理方法を追加</span></h3>



<p>ここからは補足になりますが、「IF」の「Ease」を使用すれば<strong><span class="marker-under">ブックが開いてあった時の処理方法も設定</span></strong>出来ます。</p>



<p>見本で先ほどのプログラムにブックAが開いてあった場合にはその<strong><span class="marker-under-red">ブックをアクティブにする</span></strong>というプログラムを作成してみましょう。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ブックAを開いているか確認()</p><p>Dim OpenBook As Workbook, Flag As Boolean</p><p>Flag = False</p><p>　<br>For Each OpenBook In Workbooks</p><p>If OpenBook.Name = &#8220;ブックA.xlsx&#8221; Then<br>Flag = True<br>End If</p><p>Next</p><p>　</p><p>If Flag = True Then<br><strong><span class="marker-under-red">Workbooks(&#8220;ブックA&#8221;).Activate</span></strong><br>Else<br>Workbooks.Open &#8220;C:\Users\ABC\Desktop\ブックA.xlsx&#8221;<br>End If</p><p>　</p><p>End Sub</p></blockquote>



<p>これで<strong><span class="marker-under">対象ブックが開いてなければ対象ブックを開き、開いてあれば対象ブックをアクティブ</span></strong>にすることができます。<br>今回はアクティブにする内容でしたが、用途に合わせて処理方法を追加してみてください。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/excel.workbooks.open">Workbooks.Open メソッド (Excel) | Microsoft Learn</a></p>



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



<p>いかがだったでしょうか。<br>内容としては「For Each」の繰り返し動作と「true・False」を活用して<br>対象ブックが開いてあるか確認する内容でした。</p>



<p>今回はブックでしたが、シートでも同様の仕組みで確認することができます。<br>是非参考にしてみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%8b%e3%81%84%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d%e3%81%97%e3%80%81%e9%96%8b%e3%81%84/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3368</post-id>	</item>
		<item>
		<title>【マクロVBA】別のブックをアクティブ・現在開いているブックを記憶!ブック順でのアクティブにも対応</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-13%e3%80%91%e5%88%a5%e3%81%ae%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e7%8f%be%e5%9c%a8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e7%259f%25a5%25e8%25ad%2598-13%25e3%2580%2591%25e5%2588%25a5%25e3%2581%25ae%25e3%2583%2596%25e3%2583%2583%25e3%2582%25af%25e3%2582%2592%25e3%2582%25a2%25e3%2582%25af%25e3%2583%2586%25e3%2582%25a3%25e3%2583%2596%25e3%2583%25bb%25e7%258f%25be%25e5%259c%25a8</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-13%e3%80%91%e5%88%a5%e3%81%ae%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e7%8f%be%e5%9c%a8/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 20 Jul 2021 12:02:21 +0000</pubDate>
				<category><![CDATA[ブック操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[アクティブ]]></category>
		<category><![CDATA[Activate]]></category>
		<category><![CDATA[ActivE]]></category>
		<category><![CDATA[マクロ]]></category>
		<category><![CDATA[ブック]]></category>
		<category><![CDATA[BOOK]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=765</guid>

					<description><![CDATA[ほかのファイル・ブックの値を参照したいときや計算したいときは別のブックをアクティブにして数値を参照したりコピーする必要があります。 シートのアクティブ方法については別の記事でまとめてますので参考にしてみてください。 別の [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ほかのファイル・ブックの値を参照したいときや計算したいときは<br>別のブックをアクティブにして数値を参照したりコピーする必要があります。</p>



<p>シートのアクティブ方法については別の記事でまとめてますので参考にしてみてください。</p>



<p><br>別のシートをアクティブにする内容についてはこちら☟</p>



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



<p></p>



<p><strong><span class="marker-under">ブックのアクティブ方法</span></strong>はよく使用する機能なので是非参考にしてみてください。</p>



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




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■ブックをアクティブにする仕組み</a></li><li><a href="#toc2" tabindex="0">■ブック名を直接プログラムに入力してアクティブにする方法</a></li><li><a href="#toc3" tabindex="0">■ブックの順番を指定してアクティブにする</a></li><li><a href="#toc4" tabindex="0">■現在のブック（実行前アクティブだったブック)を記憶してアクティブにする</a></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎公式</a></li><li><a href="#toc6" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■ブックをアクティブにする仕組み</span></h2>



<p>まずブックをアクティブにする仕組みについて説明します。</p>



<pre class="wp-block-verse"><span class="marker-under">対象のブック名でアクティブにする方法</span>
<strong><span class="fz-20px">Workbooks("<span class="bold-red">アクティブにしたいブック名</span>").Activate</span></strong></pre>



<p></p>



<pre class="wp-block-verse"><span class="marker-under">ブックの順でアクティブにする方法</span>
<span class="fz-20px"><span class="fz-22px"><strong>Workbooks(<span class="bold-blue">左から数えてアクティブにしたいブックの番号</span>).Activate</strong></span></span></pre>



<h2 class="wp-block-heading"><span id="toc2">■ブック名を直接プログラムに入力してアクティブにする方法</span></h2>



<p>こちらが1番なじみやすい形です。</p>



<p>ブック名を直接打ち込むプログラムはこのようになります。</p>



<pre class="wp-block-verse"><strong><span class="fz-20px">Workbooks("<span class="bold-red">アクティブにしたいブック名</span>").Activate</span></strong></pre>



<p></p>



<p><span class="marker-under"><strong>「Workbooks」と.「Activate」の間にシート名を選択する</strong></span>だけです。<br>その際に<strong><span class="marker-under-red">「”」で囲う</span></strong>ことを忘れないでください。</p>



<p>それでは実践してみましょう。</p>



<p>現在は見本でVBAというファイル名を開いています。</p>



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



<p><br>ここで見本で用意した「<strong><span class="marker-under"><span class="bold-red">見本ブック</span></span></strong>」というファイルをアクティブにしてみましょう。</p>



<p>プログラムはこのようになります。</p>



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



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 指定したブックをアクティブにする()</p><p>Workbooks(&#8220;<span class="bold-red">見本ブック</span>&#8220;).Activate</p><p>End Sub</p></blockquote>



<p></p>



<p>はい、これだけです。<br>それでは実行してみましょう。</p>



<p>現在は「VBA」というブックを開いているのですが実行すると下図のようになります。</p>



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



<p>画像では動きがないのでわかりにくいですが「<span class="bold-red">見本ブック</span>」がアクティブになりました。<br>この状態でセルに文字を入れたりするVBAのプログラムを入れると「見本ブック」のほうで書き込みが実行されます。</p>



<p></p>



<h2 class="wp-block-heading"><span id="toc3">■ブックの順番を指定してアクティブにする</span></h2>



<p>今度は<strong><span class="marker-under">ブック順を参考にしてアクティブにする方法</span></strong>です。<br>VBAで数個ファイルを開いて全ブック同じ処理をするときに使えますね。</p>



<p>プログラムの説明についてはこちら</p>



<pre class="wp-block-verse"><span class="fz-20px"><span class="fz-22px"><strong>Workbooks(<span class="bold-red">左から数えてアクティブにしたいブックの番号</span>).Activate</strong></span></span></pre>



<p></p>



<p>こちらも至ってシンプルです。</p>



<p>今回も同じく、VBAというファイル名を開いている状態で<br>見本で用意した<strong><span class="marker-under">「見本ブック」という2つ目のファイルをアクティブ</span></strong>にしてみましょう。</p>



<p>今回は<span class="bold-red">2つ目</span>なのでこのようになります</p>



<p><strong><span class="fz-22px">Workbooks(<span class="bold-red">2</span>).Activate</span></strong></p>



<p>ではプログラムを打ち込んでみましょう。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 順番にブックをアクティブにする()</p><p>Workbooks(<span class="bold-red">2</span>).Activate</p><p>End Sub</p></blockquote>



<p>実行してみると…</p>



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



<p><span class="bold-red">2つ目</span>の「見本ブック」がアクティブになりました。</p>



<p></p>



<h2 class="wp-block-heading"><span id="toc4">■現在のブック（実行前アクティブだったブック)を記憶してアクティブにする</span></h2>



<p>さらに今回はもう一事例紹介したいと思います。</p>



<p>ブックの移動が増えると実行前のアクティブブックに帰るとき<br>「Workbooks(&#8220;アクティブにしたいブック名&#8221;).Activate」で設定していると<br>ファイル名が変わったらエラーになってしまいます。</p>



<p>例えばですが「VBA1.01」というファイル名にしておいて<br>改定を加えて「VBA1.02」になったとします。</p>



<p><br>すると「Workbooks(&#8220;アクティブにしたいブック名&#8221;).Activate」の方法でプログラムを組んでいた場合すべて<br>「VBA1.01」から「VBA1.02」に変えなければなりません。</p>



<p>ここで対策として<strong><span class="marker-under">現在開いているブックを変数にセット</span></strong>して<br>そのファイルに戻りたいときは変数に入っているブック名をアクティブにすれば解決します。</p>



<p>見本プログラムはこのようになります。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 現在のブックを記憶しアクティブにする()</p><p>Dim<span class="bold-red"> MainBook</span> As Workbook</p><p>Set <span class="bold-red">MainBook</span> =<strong> <span class="bold-blue">ActiveWorkbook</span></strong></p><p>Workbooks(&#8220;見本ブック&#8221;).Activate</p><p><span class="bold-red">MainBook</span>.Activate</p><p>End Sub</p></blockquote>



<p>これにより現在開いているファイル名を「MainBook」という変数に記録し、<br>「見本ブック」をアクティブにした後でも<br>「MainBook.Activate」で初めに開いていたブックがアクティブになります。</p>



<p>この方法だとファイル名が変わっても対応できるようになります。</p>



<p>ちなみに私はこの手法しか使用していません。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/excel.workbook.activate(method)">Workbook.Activate メソッド (Excel) | Microsoft Learn</a></p>



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



<p>いかがだったでしょうか。<br>ブック経由で様々な処理ができるようになりましたね。</p>



<p>また各ブックに同じ処理ができるようになるので<br>同じ仕様ファイルに同じ処理を施す場面ではとても重宝されます。</p>



<p>ぜひ活用してみてください。</p>



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



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-13%e3%80%91%e5%88%a5%e3%81%ae%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e7%8f%be%e5%9c%a8/"></a><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-14%e3%80%91%e6%96%87%e5%ad%97%e6%a4%9c%e7%b4%a2find%e3%81%97%e3%80%81%e5%bd%93%e3%81%a6%e3%81%af%e3%81%be%e3%82%8b%e8%a1%8c%e6%95%b0%e3%81%a8%e5%88%97%e6%95%b0/">【VBA知識 14】文字検索(Find)し、当てはまる行数と列数を変数に格納・検索結果なしエラー対応 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-13%e3%80%91%e5%88%a5%e3%81%ae%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e7%8f%be%e5%9c%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">765</post-id>	</item>
		<item>
		<title>【マクロVBA】別のシートをアクティブ・選択する方法！順・すべて・複数のシート・selectの違い</title>
		<link>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-12%e3%80%91%e5%88%a5%e3%81%ae%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e9%81%b8%e6%8a%9e%e3%81%99%e3%82%8b%e6%96%b9/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590vba%25e7%259f%25a5%25e8%25ad%2598-12%25e3%2580%2591%25e5%2588%25a5%25e3%2581%25ae%25e3%2582%25b7%25e3%2583%25bc%25e3%2583%2588%25e3%2582%2592%25e3%2582%25a2%25e3%2582%25af%25e3%2583%2586%25e3%2582%25a3%25e3%2583%2596%25e3%2583%25bb%25e9%2581%25b8%25e6%258a%259e%25e3%2581%2599%25e3%2582%258b%25e6%2596%25b9</link>
					<comments>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-12%e3%80%91%e5%88%a5%e3%81%ae%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e9%81%b8%e6%8a%9e%e3%81%99%e3%82%8b%e6%96%b9/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Sat, 17 Jul 2021 06:45:58 +0000</pubDate>
				<category><![CDATA[シート操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[Sheets]]></category>
		<category><![CDATA[Sheet]]></category>
		<category><![CDATA[シート]]></category>
		<category><![CDATA[アクティブ]]></category>
		<category><![CDATA[Activate]]></category>
		<category><![CDATA[ActivE]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=720</guid>

					<description><![CDATA[データの反映を別のシートにしたいときや入力と出力でシートを分けているシステムにはアクティブシートを変更する作業が発生します。 そこで今回は様々なシートをアクティブ・選択する方法についてまとめてみました。 使用する頻度も高 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>データの反映を別のシートにしたいときや入力と出力でシートを分けているシステムには<br><strong><span class="marker-under">アクティブシートを変更する作業</span></strong>が発生します。</p>



<p>そこで今回は様々なシートをアクティブ・選択する方法についてまとめてみました。</p>



<p></p>



<p>使用する頻度も高いと思いますので是非参考にしてみてください。</p>



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



<p></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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></li><li><a href="#toc2" tabindex="0">■シート名を直接プログラムに入力してアクティブにする方法</a></li><li><a href="#toc3" tabindex="0">■シートの順番を指定してアクティブにする</a></li><li><a href="#toc4" tabindex="0">■すべてのシートをアクティブにする</a></li><li><a href="#toc5" tabindex="0">■指定した複数のシートをアクティブにする</a></li><li><a href="#toc6" tabindex="0">&#x2b1b;︎公式</a></li><li><a href="#toc7" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■シートをアクティブにする仕組み</span></h2>



<p>まずシートをアクティブにする仕組みについて説明します。</p>



<pre class="wp-block-verse"><span class="marker-under">対象のシート名でアクティブにする方法</span>
<strong><span class="fz-22px">Sheets("<span class="bold-red">シート名</span>").Activate</span></strong></pre>



<p></p>



<pre class="wp-block-verse"><span class="marker-under">シートの順でアクティブにする方法</span>
<strong><span class="fz-22px">Sheets(<span class="bold-blue">シートの順</span>).Activate</span></strong></pre>



<p></p>



<pre class="wp-block-verse"><span class="marker-under">すべてのシートをアクティブにする方法</span>
<span style="" class="fz-22px"><b>Worksheets.Select</b></span></pre>



<p></p>



<p>上記のようにシートのアクティブには様々な方法があります。では１つずつ説明します。</p>



<h2 class="wp-block-heading"><span id="toc2">■シート名を直接プログラムに入力してアクティブにする方法</span></h2>



<p></p>



<p>こちらが1番なじみやすい形です。</p>



<p>使用方法は下記の見本のようになります。</p>



<p><strong><span class="fz-20px">Sheets(&#8220;<span class="bold-red">アクティブにしたいシート名</span>&#8220;).Activate</span></strong></p>



<p><strong><span class="marker-under">「Sheets」と.「Activate」の間にシート名を選択</span></strong>するだけです。</p>



<p>例えば現在「123」というシートをアクティブにしている状態ですが<br>「<span class="bold-red">いろは</span>」をアクティブにしてみましょう。</p>



<p></p>



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



<p>プログラムはこのようになります。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub シート名から別シートをアクティブにする()</p><p>Sheets(&#8220;<span class="bold-red">いろは</span>&#8220;).Activate</p><p>End Sub</p></blockquote>



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



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



<p></p>



<p>「<span class="bold-red">いろは</span>」のシートがアクティブになっていますね。</p>



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



<p></p>



<h2 class="wp-block-heading"><span id="toc3">■シートの順番を指定してアクティブにする</span></h2>



<p></p>



<p>今度は<strong><span class="marker-under">シート順を参考にしてアクティブにする方法</span></strong>です。<br>1番右にメインシートを置いておき、メインシートをアクティブにしたいときに使えますね。</p>



<p><strong><span class="fz-22px"><span class="fz-20px">Sheets(<span class="bold-blue">左から数えてアクティブにしたいシートの番号</span>).Activate</span></span></strong></p>



<p>こちらも至ってシンプルです。</p>



<p><strong><span class="marker-under">「Sheets」と「Activate」の間に左から数えたシートの順番を選択</span></strong>するだけです。</p>



<p>今回も「123」というシートをアクティブにしている状態とし、<br>左から<strong><span class="bold-blue">3番目</span></strong>の「ABC」をアクティブにしてみましょう。</p>



<p></p>



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



<p>プログラムはこのようになります。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub シート順から別シートをアクティブにする()</p><p>Sheets<span class="marker-under-red">(<span class="bold-blue">3</span>)</span>.Activate</p><p>End Sub</p></blockquote>



<p>結果は…</p>



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



<p><span class="bold-blue">３つ目</span>のシートにあたる「ABC」のシートがアクティブになっていますね。</p>



<p>狙い通りですね。</p>



<h2 class="wp-block-heading"><span id="toc4">■すべてのシートをアクティブにする</span></h2>



<p>今度は<strong><span class="marker-under">すべてのシートをアクティブにする方法</span></strong>です。</p>



<p>方法は下記の通りです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><span class="fz-20px"><strong>Worksheets.Select</strong></span></p></blockquote>



<p>シンプルですが、これだけで大丈夫です。</p>



<p>変化点として<span class="marker-under"><strong>選択するシートが複数になる場合はSelect</strong></span>になります。</p>



<p>プログラムはこのようになります。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 全てのシートをアクティブにする()</p><p>Worksheets.Select</p><p>End Sub</p></blockquote>



<p>結果は…</p>



<figure class="wp-block-image size-large"><img decoding="async" width="294" height="123" src="https://dokugakuexcel.com/wp-content/uploads/2021/07/image-184.png" alt="" class="wp-image-728"/></figure>



<p>全てのシートが選択できてますね。</p>



<h2 class="wp-block-heading"><span id="toc5">■指定した複数のシートをアクティブにする</span></h2>



<p>最後は<strong><span class="marker-under">指定した複数のシートをアクティブにする方法</span></strong>です。<br>今回も複数なのでSelectになってます。</p>



<p>仕組みはこちら</p>



<p><span class="fz-20px"><strong>Sheets(Array(&#8220;アクティブにしたいシート①&#8221;, &#8220;アクティブにしたいシート②&#8221;)).Select</strong></span></p>



<p>見本は2個になってますが何個でも構いません。<br>ちなみに順番でもできます。</p>



<p><strong><span class="fz-20px">Sheets(Array(<span class="bold-blue">1,3</span>)).Select</span></strong></p>



<p>上記のプログラムだと<span class="bold-blue">1番目</span>と<span class="bold-blue">3番目</span>のシートが選択されます。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 1番目と3番目のシートをアクティブにする()</p><p>Sheets(Array(<span class="bold-blue">1, 3</span>)).Select</p><p>End Sub</p></blockquote>



<p>結果は….</p>



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



<p>狙い通り「<span class="bold-blue">１番目</span>」と「<span class="bold-blue">３番目</span>」のシートがアクティブになりました。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/excel.worksheet.activate(method)?source=recommendations">Worksheet.Activate メソッド (Excel) | Microsoft Learn</a></p>



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



<p>いかがだったでしょうか。<br>機能や仕組みを増やすと別シート選択は必要になってきます。</p>



<p>身につけると別シートの数値をコピペできたり<br>別シートに張り付けができたりすることができます。</p>



<p>ぜひ活用してみてください。</p>



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



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-13%e3%80%91%e5%88%a5%e3%81%ae%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e7%8f%be%e5%9c%a8/">【マクロVBA知識 13】別のブックをアクティブ・現在開いているブックを記憶する ► 独学エクセル塾 (dokugakuexcel.com)</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-12%e3%80%91%e5%88%a5%e3%81%ae%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e3%82%a2%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%83%bb%e9%81%b8%e6%8a%9e%e3%81%99%e3%82%8b%e6%96%b9/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">720</post-id>	</item>
	</channel>
</rss>
