<?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/%E9%85%8D%E5%88%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sun, 09 Apr 2023 19:24:39 +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】写真・図を変数や配列のように格納して、様々なサイズ・位置に貼り付ける方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%83%bb%e5%9b%b3%e3%82%92%e5%a4%89%e6%95%b0%e3%82%84%e9%85%8d%e5%88%97%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e6%a0%bc%e7%b4%8d/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e5%2586%2599%25e7%259c%259f%25e3%2583%25bb%25e5%259b%25b3%25e3%2582%2592%25e5%25a4%2589%25e6%2595%25b0%25e3%2582%2584%25e9%2585%258d%25e5%2588%2597%25e3%2581%25ae%25e3%2582%2588%25e3%2581%2586%25e3%2581%25ab%25e6%25a0%25bc%25e7%25b4%258d</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%83%bb%e5%9b%b3%e3%82%92%e5%a4%89%e6%95%b0%e3%82%84%e9%85%8d%e5%88%97%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e6%a0%bc%e7%b4%8d/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 14:55:11 +0000</pubDate>
				<category><![CDATA[写真・図]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[貼り付け]]></category>
		<category><![CDATA[配列]]></category>
		<category><![CDATA[写真]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3518</guid>

					<description><![CDATA[写真や図を変数や配列のように格納して活用したいと思ったことはないでしょうか。 通常であれば、写真・図を貼り付けたい場合はコピーペーストして対応すると思いますが、貼り付け位置が多い場合や、貼り付けのパターンが多ければコピペ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong><span class="marker-under">写真や図を変数や配列のように格納して活用</span></strong>したいと思ったことはないでしょうか。</p>



<p>通常であれば、写真・図を貼り付けたい場合はコピーペーストして対応すると思いますが、<br>貼り付け位置が多い場合や、貼り付けのパターンが多ければコピペでの貼り付けは面倒です。</p>



<p>そこで今回はマクロVBAで変数・配列のように図を格納して好きな位置に</p>



<p>貼り付ける方法を紹介します。<br>是非参考にしてみてください。それではみていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎プログラムの考え方について</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎実践編:写真・図を格納して貼り付ける方法</a><ol><li><a href="#toc4" tabindex="0">・①指定範囲内にある写真・図を選択する</a></li><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></ol></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc12" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</span></h2>



<p><strong><span class="marker-under">黄色の蛍光ペン</span></strong>の部分をお好みで打ち換えてください。</p>



<pre class="wp-block-verse">Sub 図を格納して貼り付け()

Dim WideValue, HighValue, <span class="bold-red">PhotoName</span> As String

For Each <span class="bold-blue">TARGET </span>In ActiveSheet.Shapes '写真を繰り返し選択
　If Not Intersect(<span class="bold-blue">TARGET</span>.TopLeftCell, Range("<strong><span class="marker-under">切り取り範囲</span></strong>")) Is Nothing And _
　　Not Intersect(<span class="bold-blue">TARGET</span>.BottomRightCell, Range("<strong><span class="marker-under">切り取り範囲</span></strong>")) Is Nothing Then
　　　TARGET.Select False '指定範囲に入っていない写真は除外
　End If
Next <span class="bold-blue">TARGET</span>

With Selection
　WideValue = .Width '幅を格納
　HighValue = .Height '高さを格納
　.Copy '対象をコピー
End With　

ActiveSheet.ChartObjects.Add(0, 0, WideValue, HighValue).Name = "<span class="bold-green">Targerpicture</span>" 'チャートの作成
ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす

<span class="bold-red">PhotoName</span> = "<strong><span class="marker-under">保存するパス</span></strong>" &amp; "\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>")
　.Chart.Export <span class="bold-red">PhotoName</span> '写真を名前をつけて保存
　.Delete
End With

Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
　　　　　　　　  FileName:=<span class="bold-red">PhotoName</span>, _
                          LinkToFile:=False, _
　　　　　　　　  SaveWithDocument:=True, _
　　　　　　　　  Left:=ActiveSheet.Range("<strong><span class="marker-under">貼り付け位置</span></strong>").Left, _
　　　　　　　　  Top:=ActiveSheet.Range("<strong><span class="marker-under">貼り付け位置</span></strong>").Top, _
　　　　　　　　  Width:=ActiveSheet.Range("<strong><span class="marker-under">貼り付けサイズ</span></strong>").Width, _
　　　　　　　　  Height:=ActiveSheet.Range("<strong><span class="marker-under">貼り付けサイズ</span></strong>").Height) '貼り付け

Kill <span class="bold-red">PhotoName</span> '写真を消す

End Sub
</pre>



<p></p>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎プログラムの考え方について</span></h2>



<p>まず結論から言うと<strong><span class="marker-under">配列や変数などに写真・図を格納することは不可能</span></strong>です。<br>しかし、<strong><span class="marker-under">似たような事をすることは出来ます</span></strong>。</p>



<p>様々な方法があるのかもしれませんが今回紹介する方法は<br><strong><span class="marker-under">写真・図を一旦保存して、そのファイル名を変数に書き込み<br>その変数を用いて指定位置に貼り付け</span></strong>ます。</p>



<p>なので手順としては</p>



<pre class="wp-block-verse">①指定範囲内にある写真・図を選択する
②写真・図を保存して、そのパスを変数に格納する
③指定位置に貼り付ける
④プログラム終了後は写真・図ファイルを削除する</pre>



<p>と言った流れになります。<br>では実践編をみていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎実践編:写真・図を格納して貼り付ける方法</span></h2>



<p>では①から④の順に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">・①指定範囲内にある写真・図を選択する</span></h3>



<p>まずは<strong><span class="marker-under">格納したい写真・図を名前をつけて保存</span></strong>したいと思います。<br>注意点としてVBAで保存できるのは「Chart」となります。<br>「Chart」はグラフを意味します。</p>



<p>なのでイメージとして<strong><span class="marker-under">「Chart」を作成して<br>そこに指定した写真・図を貼り付けて写真・図ごと「Chart」を保存する</span></strong><br>といった流れです。</p>



<p>ではまず、保存したい写真・図を選択します。<br>見本の写真は下図の通りです。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="486" height="203" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-81.png" alt="" class="wp-image-3519" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-81.png 486w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-81-300x125.png 300w" sizes="(max-width: 486px) 100vw, 486px" /></figure>



<p>今回は指定範囲内にある写真・図を登録してみましょう。</p>



<p>構文はこちらです。</p>



<pre class="wp-block-verse">For Each <span class="bold-blue">TARGET</span> In ActiveSheet.Shapes '写真を繰り返し選択

If Not Intersect(<span class="bold-blue">TARGET</span>.TopLeftCell, Range("<strong><span class="bold-red">A1:D5</span></strong>")) Is Nothing And _
Not Intersect(<span class="bold-blue">TARGET</span>.BottomRightCell, Range("<span class="bold-red">A1:D5</span>")) Is Nothing Then
TARGET.Select False '指定範囲に入っていない写真は除外
End If
Next 
<span class="bold-blue">TARGET</span></pre>



<p>今回は見本で<strong><span class="marker-under-red">「<span class="bold-red">A1からD5</span>」にある写真・図を対象</span></strong>にしました。<br>なので「Range(&#8220;A1:D5&#8221;)) Is Nothing」で範囲をしぼっています。</p>



<p>仕組みとして<strong><span class="marker-under">「TopLeftCell」で写真の左上、「BottomRightCell」で写真の右下を検知し、<br>対象範囲内にあるか確認</span></strong>しています。</p>



<p>その後、範囲内に該当する写真・図については選択した状態を維持するようになります。<br>実行した結果はこちら。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="388" height="150" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-82.png" alt="" class="wp-image-3520" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-82.png 388w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-82-300x116.png 300w" sizes="(max-width: 388px) 100vw, 388px" /></figure>



<p>これで選択は出来ましたが、選択した写真・図を<br>「<strong><span class="marker-under-blue">Chart」に貼り付ける</span></strong>必要があります。<br>しかし、通常の状態で「Chart」を生成すると選択した写真・図のサイズとは<br>異なってしまいます。</p>



<p>そこで<strong><span class="marker-under-blue">現在の写真・図のサイズを格納し、そのサイズに見合った<br>「Chart」を生成</span></strong>する必要があります。</p>



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



<pre class="wp-block-verse">Dim <span class="bold-red">WideValue</span>, <span class="bold-blue">HighValue</span>

With Selection
<span class="bold-red">WideValue</span> = .Width '幅を格納
<span class="bold-blue">HighValue</span> = .Height '高さを格納
.Copy '対象をコピー

End With</pre>



<p>現状は対象の写真を選択している状態です。<br>その選択した写真を対象に<strong><span class="marker-under">「<span class="bold-red">WideValue</span> = .Width」で写真・図の幅を格納</span></strong>し、<strong><span class="marker-under">「<span class="bold-blue">HighValue</span> = .Height 」で写真・図の高さを格納</span></strong>します。<br>さらに貼り付けるため、対象をコピーしています。</p>



<p>では、チャートを作成して、対象の写真を貼り付けてみましょう。<br>プログラムはこちら</p>



<pre class="wp-block-verse">ActiveSheet.ChartObjects.Add(0, 0,<span class="bold-red"> WideValue</span>, <span class="bold-blue">HighValue</span>).Name = "Targerpicture" 'チャートの作成
ActiveSheet.ChartObjects("Targerpicture").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす</pre>



<p>まずはチャートの作成の構文はこちらです。</p>



<pre class="wp-block-verse"><strong>ActiveSheet.ChartObjects.Add(<span class="bold-green">左端からの距離</span>, <span class="bold-green">上端からの距離</span>, <span class="bold-red">幅</span>, <span class="bold-blue">高さ</span>).Name = "チャートの名前"</strong></pre>



<p>左端からの距離と上端からの距離については今回は写真として<strong><span class="marker-under">保存するだけなので<br>それぞれ「0」</span></strong>とします。<br><span class="bold-red">幅</span>と<span class="bold-blue">高さ</span>については、先ほど変数に格納した「<span class="bold-red">WideValue</span>」「<span class="bold-blue">HighValue</span>」が該当します。</p>



<p>そして今回はチャートの名前を「Targerpicture」としました。<br>こちらを２行目のプログラムでアクティブ状態にします。</p>



<p>さらに3行目の<strong><span class="marker-under">「ActiveChart.Paste」でチャートに写真を貼り付け</span></strong>ます。<br>そして最後にチャートの外枠を無くしました。外周に黒い線が残ってもいい場合はこちらは省略してください。</p>



<p>ではこれでChart形式の写真・図ができました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="451" height="216" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-83.png" alt="" class="wp-image-3521" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-83.png 451w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-83-300x144.png 300w" sizes="(max-width: 451px) 100vw, 451px" /></figure>



<h3 class="wp-block-heading"><span id="toc5">・②写真・図を保存して、そのパスを変数に格納する</span></h3>



<p>ではChart形式で保存できるようになったので、<br><strong><span class="marker-under">指定フォルダに保存&amp;変数にパスを格納</span></strong>していきましょう。</p>



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



<pre class="wp-block-verse">Dim <span class="bold-red">PhotoName</span> As String

<span class="bold-red">PhotoName</span> = "C:\検証ファイル\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("Targerpicture")
.<span class="bold-blue">Chart.Export</span> <span class="bold-red">PhotoName</span>
.Delete
End With</pre>



<p>では仕組みを紹介します。<br>現在は①でチャート形式にした写真・図を作成している状態です。</p>



<p>まず変数で写真・図を保存する名前をフルパスを含めて決めています。<br>つまり、<strong><span class="marker-under-blue">フルパスで指名したフォルダ・ファイル名で一旦<br>写真・図を保存する</span></strong>ようになります。</p>



<p>見本では「ローカルディスクC」の「検証ファイル」に保存して、<br>写真・図名を「貼り付け用写真」としました。<br>写真・図なので拡張子を「.jpg」としています。</p>



<p>そして「<span class="bold-blue">Chart.Export</span>＋<span class="bold-red">先程のフルパス変数</span>」で<br>写真・図として保存を実行します。</p>



<p>つまり、このフルパスが入った変数「<span class="bold-red">PhotoName</span>」が<br>画像を貼り付ける変数になります。</p>



<p>ちなみにここまでのプログラムを実行してみましょう。<br>指定ファイルにファイルが追加されました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="650" height="204" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-84.png" alt="" class="wp-image-3522" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-84.png 650w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-84-300x94.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<h3 class="wp-block-heading"><span id="toc6">・③指定位置に貼り付ける</span></h3>



<p>では実際に<strong><span class="marker-under">指定位置に貼り付け</span></strong>てみましょう。<br>まず構文から紹介したいと思います。</p>



<pre class="wp-block-verse">Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
FileName:=<span class="bold-red">ここにファイル名</span>, _
LinkToFile:=False, _
SaveWithDocument:=TrueかFalse, _
Left:=<span class="bold-blue">左端からの貼り付け位置</span>, _
Top:=<span class="bold-blue">上端からの貼り付け位置</span>, _
Width:=<span class="bold-green">写真・図の幅</span>, _
Height:=<span class="bold-green">写真・図の高さ</span>)</pre>



<p>では構文に当てはめていきましょう。<br>まず「<span class="bold-red">FileName</span>」は先程のフルパスが格納された変数「<span class="bold-red">PhotoName</span>」になります。</p>



<p>次に「LinkToFile」ですが図をグラフィック ファイルとリンクするかどうかを指定します。<br>今回は「False」にします。</p>



<p>「SaveWithDocument」については文書を保存するときに図も一緒に保存するかどうかを指定します。<br>今回は「True」にしておきましょう。</p>



<p>次に貼り付け位置についてです。<br>ここでは<strong><span class="marker-under-blue">左端からの貼り付け位置が「Left」</span></strong>、<strong><span class="marker-under-blue">上端からの貼り付け位置が「Top」</span></strong>となります。<br>ここには数値でもいいですが、セルを指定しても構いません。</p>



<p>今回は見本で「<span class="bold-blue">E7</span>」に貼り付けたいと思います。</p>



<p>最後に写真のサイズを指定します。<br><strong><span class="marker-under">写真の幅は「Width」、高さは「Height」で指定</span></strong>します。</p>



<p><strong><span class="marker-under">通常のサイズを維持する場合は「<span class="bold-green">-1</span>」</span></strong>を入力します。<br>もちろん、直接サイズを入力しても構いません。</p>



<p>今回は見本で「<span class="bold-green">E7</span>」のセルのサイズに合わせて貼り付けます。</p>



<p>すべて足したプログラムはこちらです。</p>



<pre class="wp-block-verse">Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
FileName:=<span class="bold-red">PhotoName</span>, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=ActiveSheet.Range("<span class="bold-blue">E7</span>").Left, _
Top:=ActiveSheet.Range("<span class="bold-blue">E7</span>").Top, _
Width:=ActiveSheet.Range("<span class="bold-green">E7</span>").Width, _
Height:=ActiveSheet.Range("<span class="bold-green">E7</span>").Height)</pre>



<h3 class="wp-block-heading"><span id="toc7">・④プログラム終了後は写真・図ファイルを削除する</span></h3>



<p>写真・図を貼り付け終わったら最後に元の状態に戻すため<br><strong><span class="marker-under">保存した写真・図を削除</span></strong>します。</p>



<p>削除する構文はこちら。</p>



<pre class="wp-block-verse"><span class="bold-blue">kill</span><span class="bold-red"> フルパス</span></pre>



<p>では当てはめていきましょう。</p>



<p>フルパスは見本では「<span class="bold-red">PhotoName</span>」に格納しているので<br>「<span class="bold-blue">Kill </span><span class="bold-red">PhotoName</span>」だけで写真・図ファイルを削除できます。</p>



<p>これで一連の動作は完了です。</p>



<h3 class="wp-block-heading"><span id="toc8">・プログラムまとめ</span></h3>



<p>では①から④を組み合わせてみます。<br>結果はこちらです。</p>



<pre class="wp-block-verse">Sub 図を格納して貼り付け()

Dim WideValue, HighValue, <span class="bold-red">PhotoName</span> As String

For Each <span class="bold-blue">TARGET </span>In ActiveSheet.Shapes '写真を繰り返し選択
　If Not Intersect(<span class="bold-blue">TARGET</span>.TopLeftCell, Range("A1:D5")) Is Nothing And _
　　Not Intersect(<span class="bold-blue">TARGET</span>.BottomRightCell, Range("A1:D5")) Is Nothing Then
　　　TARGET.Select False '指定範囲に入っていない写真は除外
　End If
Next <span class="bold-blue">TARGET</span>

With Selection
　WideValue = .Width '幅を格納
　HighValue = .Height '高さを格納
　.Copy '対象をコピー
End With　

ActiveSheet.ChartObjects.Add(0, 0, WideValue, HighValue).Name = "<span class="bold-green">Targerpicture</span>" 'チャートの作成
ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす

<span class="bold-red">PhotoName</span> = "C:\検証ファイル\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>")
　.Chart.Export <span class="bold-red">PhotoName</span> '写真を名前をつけて保存
　.Delete
End With

Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
　　　　　　　　  FileName:=<span class="bold-red">PhotoName</span>, _
                          LinkToFile:=False, _
　　　　　　　　  SaveWithDocument:=True, _
　　　　　　　　  Left:=ActiveSheet.Range("E7").Left, _
　　　　　　　　  Top:=ActiveSheet.Range("E7").Top, _
　　　　　　　　  Width:=ActiveSheet.Range("E7").Width, _
　　　　　　　　  Height:=ActiveSheet.Range("E7").Height) '貼り付け

Kill <span class="bold-red">PhotoName</span> '写真を消す

End Sub
</pre>



<p>長いですが、これで写真・図を格納して貼り付けるプログラムができました。<br>では実践してみましょう。</p>



<p>今回は「A1からD5」内の写真・図を格納して<br>「E7」に貼り付けます。</p>



<p>実行した結果はこちら。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="906" height="214" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85.png" alt="" class="wp-image-3523" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85.png 906w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85-300x71.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85-768x181.png 768w" sizes="(max-width: 906px) 100vw, 906px" /></figure>



<p>狙い通り、貼り付けることができていますね。<br>サイズもセルの大きさに合わせて貼り付けてくれています。</p>



<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎応用:見本のプログラム</span></h2>



<p>ここからは先程のプログラムを応用したプログラムの事例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc10">・格納した写真・図をブック内の全てのシートに貼り付ける。</span></h3>



<p>まずは写真・図を格納して、<strong><span class="marker-under">ブック内のシート全ての指定位置に<br>貼り付け</span></strong>てみましょう。</p>



<p>今回は先頭のシートの「A1からD5」の中の写真・図を<br>他の全てのシートの「E7」に貼り付けるプログラムを見てみましょう。</p>



<pre class="wp-block-verse">Sub 図を格納して貼り付け()

Dim WideValue, HighValue, PhotoName As String, SheetNo, cycle

For Each TARGET In ActiveSheet.Shapes '写真を繰り返し選択
  If Not Intersect(TARGET.TopLeftCell, Range("A1:D5")) Is Nothing And _
     Not Intersect(TARGET.BottomRightCell, Range("A1:D5")) Is Nothing Then 
     TARGET.Select False '指定範囲に入っていない写真は除外
  End If
Next TARGET

With Selection
  WideValue = .Width '幅を格納
  HighValue = .Height '高さを格納
  .Copy '対象をコピー
End With

ActiveSheet.ChartObjects.Add(0, 0, WideValue, HighValue).Name = "Targerpicture" 'チャートの作成
ActiveSheet.ChartObjects("Targerpicture").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす

PhotoName = "C:\検証ファイル\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("Targerpicture")
  .Chart.Export PhotoName '写真を名前をつけて保存
  .Delete
End With

<span class="bold-blue">SheetNo</span> = Sheets.Count

For <span class="bold-red">cycle </span>= 2 To <span class="bold-blue">SheetNo </span>Step 1
  Sheets(<span class="bold-red">cycle</span>).Activate
  Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
                           FileName:=PhotoName, _
                           LinkToFile:=False, _
                           SaveWithDocument:=True, _
                           Left:=ActiveSheet.Range("E7").Left, _
                           Top:=ActiveSheet.Range("E7").Top, _
                           Width:=ActiveSheet.Range("E7").Width, _
                           Height:=ActiveSheet.Range("E7").Height) '貼り付け
Next cycle

Kill PhotoName '写真を消す

End Sub</pre>



<p><strong><span class="marker-under-blue">「<span class="bold-blue">SheetNo</span>」に全体のシート数をカウント</span></strong>して<br>「For Next」で貼り付けてシート数分貼り付けるようにしています。</p>



<p>通常、シートを繰り返し選択する場合は「For Each 変数 In Worksheets」<br>を使用しますが、貼り付けるシートを変則的に応用するために<br>今回はシート番号で対象シートをアクティブにさせています。</p>



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



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



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/powerpoint.shapes.addpicture">Shapes.AddPicture メソッド (PowerPoint) | Microsoft Learn</a></p>



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



<p>いかがだったでしょうか。<br>本記事の内容を活用すると、図を変数のように活用することができます。</p>



<p>エクセル内で図を定期的に指定位置に貼り付けたりする際には便利です。<br>署名の貼り付けなどにも活用できますね！</p>



<p>是非参考にしてみてください。<br>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%83%bb%e5%9b%b3%e3%82%92%e5%a4%89%e6%95%b0%e3%82%84%e9%85%8d%e5%88%97%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e6%a0%bc%e7%b4%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3518</post-id>	</item>
		<item>
		<title>【マクロVBA】複数の2次配列内（Variant)のセル・指定位置に数値・文字を入力・出力する方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a4%87%e6%95%b0%e3%81%ae2%e6%ac%a1%e9%85%8d%e5%88%97%e5%86%85%ef%bc%88%ef%bd%96ariant%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e6%8c%87%e5%ae%9a%e4%bd%8d/?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%25e8%25a4%2587%25e6%2595%25b0%25e3%2581%25ae2%25e6%25ac%25a1%25e9%2585%258d%25e5%2588%2597%25e5%2586%2585%25ef%25bc%2588%25ef%25bd%2596ariant%25e3%2581%25ae%25e3%2582%25bb%25e3%2583%25ab%25e3%2583%25bb%25e6%258c%2587%25e5%25ae%259a%25e4%25bd%258d</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a4%87%e6%95%b0%e3%81%ae2%e6%ac%a1%e9%85%8d%e5%88%97%e5%86%85%ef%bc%88%ef%bd%96ariant%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e6%8c%87%e5%ae%9a%e4%bd%8d/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 13 Jul 2022 14:18:44 +0000</pubDate>
				<category><![CDATA[便利技]]></category>
		<category><![CDATA[マクロVBA応用・便利技]]></category>
		<category><![CDATA[Variant]]></category>
		<category><![CDATA[配列]]></category>
		<category><![CDATA[２次配列]]></category>
		<category><![CDATA[位置]]></category>
		<category><![CDATA[セル]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3356</guid>

					<description><![CDATA[マクロVBAの機能には配列というとても便利な機能が存在します。 しかし「data(5)」のように複数の配列の中から数値・文字を入力・出力するには悩まれる方も多いのではないでしょうか。 そこで今回は複数の2次配列内の入力・ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>マクロVBAの機能には<strong><span class="marker-under">配列</span></strong>というとても便利な機能が存在します。</p>



<p>しかし「data(5)」のように<strong><span class="marker-under">複数の配列の中から数値・文字を入力・出力</span></strong>するには<br>悩まれる方も多いのではないでしょうか。</p>



<p>そこで今回は<strong><span class="marker-under">複数の2次配列内の入力・出力方法</span></strong>について紹介したいと思います。<br>それでは見ていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんなことができるようになる。</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎通常の2次配列内の指定位置・セルの文字を入出力する</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎連続した2次配列内の指定位置・セルに入力・出力をする方法</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

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



<p>・複数の２次配列内の指定位置・セルの文字数値を入力・出力できるようになる</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-1024x464.png" alt="" class="wp-image-3363" width="527" height="238" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-1024x464.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-300x136.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-768x348.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26.png 1105w" sizes="(max-width: 527px) 100vw, 527px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎通常の2次配列内の指定位置・セルの文字を入出力する</span></h2>



<p>まず初めに<strong><span class="marker-under">通常の2次配列内の指定した位置・セルから文字・数値を出力、または入力</span></strong>してみましょう。<br>見本で以下のシートを用意しました。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="237" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-20-1024x237.png" alt="" class="wp-image-3357" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-20-1024x237.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-20-300x69.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-20-768x178.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-20.png 1077w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>内容としては<span class="bold-red">「B3からE5」</span>までを配列に格納して<br><strong><span class="marker-under-red">配列内</span></strong>に入力したのち、<span class="bold-blue">「G3からJ5」</span>に貼り付けます。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 配列見本()</p><p>Dim<span class="marker-under-red"> Data</span></p><p><span class="marker-under-red">Data </span>=<span class="bold-red"> Range(&#8220;B3:E5&#8221;)</span></p><p><span class="bold-blue">Range(&#8220;G3:J5&#8221;)</span> =<span class="marker-under-red"> Data</span></p><p>End Sub</p></blockquote>



<p>実行した結果こちら。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="239" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-21-1024x239.png" alt="" class="wp-image-3358" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-21-1024x239.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-21-300x70.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-21-768x179.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-21.png 1100w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>上手く配列に格納して、貼り付けもできています。<br>では配列内の指定位置に数値を入力するプログラムを作成していきましょう。</p>



<p>例えば3行目の５列目にあたる、<strong><span class="marker-under">「E3」は「cells(3,5)」</span></strong>ですが、同じ要領で<br>2次配列に格納した<strong><span class="marker-under">3行目の５列目は「変数名（3,5）」</span></strong>となります。</p>



<p>では再度見本を見ていきましょう。<br><span class="bold-red">「B3からE5」</span>を配列に格納して配列内の<strong><span class="marker-under">2行目の3行目</span></strong>に<span class="bold-green">「123」</span>を入力し、<br><span class="bold-blue">「G3からJ5」</span>に格納した配列を出力します。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 配列見本()</p><p>Dim<span class="marker-under-red"> Data</span></p><p><span class="marker-under-red">Data</span> = <span class="bold-red">Range(&#8220;B3:E5&#8221;)</span><br><span class="marker-under-red">Data</span><span class="marker-under">(2, 3) </span>=<span class="bold-green"> 123</span></p><p><span class="bold-blue">Range(&#8220;G3:J5&#8221;)</span> = <span class="marker-under-red">Data</span></p><p>End Sub</p></blockquote>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="265" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-22-1024x265.png" alt="" class="wp-image-3359" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-22-1024x265.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-22-300x78.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-22-768x199.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-22.png 1079w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>格納した配列に変数に文字・数値を入力して、その配列を<br>別のセルに貼り付けることができるようになりました。</p>



<p>　</p>



<p>こちらの方法は処理の<strong><span class="marker-under">高速化にも応用</span></strong>できます。<br>例えばセル内の文字数値の計算をする際に計算する回数が多ければ<br>処理速度は遅くなってしまいます。</p>



<p>そこで計算したい数値を配列に格納して<br>配列内で計算させて、最後にセルに出力することで、<br>処理速度はとても速くなります。</p>



<p>詳しい方法については下記リンクに貼り付けてますので是非参考にしてみてください。</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-%e9%ab%98%e9%80%9f%e5%8c%96%e2%91%a1%e3%80%91%e3%81%82%e3%81%be%e3%82%8a%e7%9f%a5%e3%82%89%e3%82%8c%e3%81%a6%e3%81%84%e3%81%aa%e3%81%84%ef%bc%9f%e5%a4%a7%e9%87%8f/">【マクロVBA知識 高速化②】あまり知られていない？大量データで処理が遅いマクロVBAを高速化 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎連続した2次配列内の指定位置・セルに入力・出力をする方法</span></h2>



<p>では<strong><span class="marker-under">連続した2次配列の方法</span></strong>を見てみましょう。<br>例えば「N(5)」のようにNという配列を5つ活用することができます。</p>



<p>例を見ていきましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="854" height="407" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-23.png" alt="" class="wp-image-3360" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-23.png 854w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-23-300x143.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-23-768x366.png 768w" sizes="(max-width: 854px) 100vw, 854px" /></figure>



<p>「B2からE3」「B5からE6」「B8からE9」「B11からE12」「B14からE15」を<br><span class="bold-red">N</span>という配列に格納してみましょう。</p>



<p>そして出力したい配列を変数「<span class="bold-blue">Number</span>」で指定したいとします。<br>プログラムはこのようになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 二次配列見本()</p><p>Dim <span class="bold-red">N</span>(5), Number As Long</p><p><span class="bold-blue">Number </span>= 2 &#8216;表示したい配列番号を入力</p><p>　</p><p><span class="bold-red">N</span>(1) = Range(&#8220;B2:E3&#8221;)<br><span class="bold-red">N</span>(2) = Range(&#8220;B5:E6&#8221;)<br><span class="bold-red">N</span>(3) = Range(&#8220;B8:E9&#8221;)<br><span class="bold-red">N</span>(4) = Range(&#8220;B11:E12&#8221;)<br><span class="bold-red">N</span>(5) = Range(&#8220;B14:E15&#8221;)</p><p>　</p><p>Range(&#8220;G8:J9&#8221;) = <span class="bold-red">N</span>(<span class="bold-blue">Number</span>)</p><p>End Sub</p></blockquote>



<p>今回は変数「<span class="bold-blue">Number</span>」を<span class="bold-blue">2</span>で実行してみましょう。<br>結果はこのようになります。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="468" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-24-1024x468.png" alt="" class="wp-image-3361" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-24-1024x468.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-24-300x137.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-24-768x351.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-24.png 1114w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>N（2）の配列を貼り付けることができました。<br>さらに「<span class="bold-blue">number</span>」を<span class="bold-blue">4</span>で実行すると、、、</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 二次配列見本()</p><p>Dim N(5), Number As Long</p><p><span class="bold-blue">Number</span> = 4 &#8216;表示したい配列番号を入力</p><p>N(1) = Range(&#8220;B2:E3&#8221;)<br>N(2) = Range(&#8220;B5:E6&#8221;)<br>N(3) = Range(&#8220;B8:E9&#8221;)<br>N(4) = Range(&#8220;B11:E12&#8221;)<br>N(5) = Range(&#8220;B14:E15&#8221;)</p><p>Range(&#8220;G8:J9&#8221;) = N(<span class="bold-blue">Number</span>)</p><p>End Sub</p></blockquote>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="478" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-25-1024x478.png" alt="" class="wp-image-3362" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-25-1024x478.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-25-300x140.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-25-768x358.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-25.png 1099w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>N（4）の配列を貼り付けることができました。</p>



<p>　</p>



<p>では本題です。<br>複数の配列の中の位置・セルに入力・出力をしてみましょう。</p>



<p><strong><span class="marker-under">１つの配列だと「変数（行数,列数）」で</span></strong>したね。<br><strong><span class="marker-under">複数の配列の場合は「変数（<span class="bold-red">配列数</span>）（<span class="bold-blue">行数</span>,<span class="bold-green">列数</span>）」</span></strong>となります。</p>



<p>では実際にプログラムにて確認していきましょう。<br>先ほどの見本を活用し、N（<span class="bold-red">Number</span>）の<span class="bold-blue">1行目</span>の<span class="bold-green">３列目</span>に「456」を入力して<br>配列N（Number）をG8からJ9に貼り付けましょう。</p>



<p>今回はN(<span class="bold-red">3</span>)の配列を貼り付けたいと思います。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 二次配列見本()</p><p>Dim N(5), Number As Long</p><p><span class="bold-red">Number</span> = <span class="bold-red">3</span> &#8216;表示したい配列番号を入力</p><p>N(1) = Range(&#8220;B2:E3&#8221;)<br>N(2) = Range(&#8220;B5:E6&#8221;)<br>N(3) = Range(&#8220;B8:E9&#8221;)<br>N(4) = Range(&#8220;B11:E12&#8221;)<br>N(5) = Range(&#8220;B14:E15&#8221;)</p><p>N(<span class="bold-red">Number</span>)(<span class="bold-blue">1</span>, <span class="bold-green">3</span>) = 456</p><p>Range(&#8220;G8:J9&#8221;) = N(Number)</p><p>End Sub</p></blockquote>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="464" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-1024x464.png" alt="" class="wp-image-3363" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-1024x464.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-300x136.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26-768x348.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-26.png 1105w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>複数の配列内の指定した位置にも数値を格納できていますね。<br>もちろん計算させることも可能です。</p>



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



<p>いかがだったでしょうか。<br>2次配列は複数のセルを格納できたり、配列の数も変えれたりと、とても便利です。</p>



<p>しかし初心者のかたは慣れるまで習得しにくく<br>できることも十分に理解するまで時間がかかるように思います。</p>



<p>是非配列の知識を身につけて<br>活用してみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a4%87%e6%95%b0%e3%81%ae2%e6%ac%a1%e9%85%8d%e5%88%97%e5%86%85%ef%bc%88%ef%bd%96ariant%e3%81%ae%e3%82%bb%e3%83%ab%e3%83%bb%e6%8c%87%e5%ae%9a%e4%bd%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3356</post-id>	</item>
		<item>
		<title>【マクロVBA】複数の繰り返しのコピー&#038;ペーストが面倒くさい!?高速で一括で貼り付けできる配列とは</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a4%87%e6%95%b0%e3%81%ae%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%81%ae%e3%82%b3%e3%83%94%e3%83%bc%e3%83%9a%e3%83%bc%e3%82%b9%e3%83%88%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%25e3%2580%2591%25e8%25a4%2587%25e6%2595%25b0%25e3%2581%25ae%25e7%25b9%25b0%25e3%2582%258a%25e8%25bf%2594%25e3%2581%2597%25e3%2581%25ae%25e3%2582%25b3%25e3%2583%2594%25e3%2583%25bc%25e3%2583%259a%25e3%2583%25bc%25e3%2582%25b9%25e3%2583%2588%25e3%2581%258c</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a4%87%e6%95%b0%e3%81%ae%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%81%ae%e3%82%b3%e3%83%94%e3%83%bc%e3%83%9a%e3%83%bc%e3%82%b9%e3%83%88%e3%81%8c/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 13:16:59 +0000</pubDate>
				<category><![CDATA[便利技]]></category>
		<category><![CDATA[マクロVBA応用・便利技]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[配列]]></category>
		<category><![CDATA[コピーペースト]]></category>
		<category><![CDATA[コピペ]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=2473</guid>

					<description><![CDATA[VBAを使用する中でコピー&#38;ペーストの機能は使用したことがあると思います。しかしコピー&#38;ペーストは1つコピーして別のデータをコピーすると1つ目のコピー情報は消えてしまいます。 そこで複数コピー&#38;ペ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VBAを使用する中でコピー&amp;ペーストの機能は使用したことがあると思います。<br>しかしコピー&amp;ペーストは1つコピーして別のデータをコピーすると<br>1つ目のコピー情報は消えてしまいます。</p>



<p>そこで複数コピー&amp;ペーストしたい場合は1つコピーして貼り付け…1つコピーして貼り付け…<br>という動作をコピー&amp;ペーストしたい回数繰り返さないといけません。</p>



<p>さらにシートをまたぐ際には動作時間も遅くなりますし<br>プログラムも長文になってしまいます。</p>



<p>そこで今回は<strong><span class="marker-under">配列を使用して配列に情報を蓄積していき<br>貼り付け位置にまとめてペーストする方法</span></strong>について紹介したいとします。</p>



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




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">■複数のコピー&amp;ペーストの問題点</a></li><li><a href="#toc2" tabindex="0">■配列に格納して貼り付けする</a></li><li><a href="#toc3" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■複数のコピー&amp;ペーストの問題点</span></h2>



<p>まず解決策を紹介する前に比較対象として<br>下図の見本を用意しました。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="405" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-110-1024x405.png" alt="" class="wp-image-2474" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-110-1024x405.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-110-300x119.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-110-768x304.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-110.png 1240w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong><span class="marker-under-red">シート名「Befor」の数値1～7</span></strong>を<strong><span class="marker-under-blue">シート名「After」に貼り付けようとします</span></strong>。<br>ではコピー&amp;ペーストを使用したプログラムを見てみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub BeforからAfterにコピーペースト()</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;B4:B8&#8221;).Copy &#8216;数値1をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;B4&#8221;).PasteSpecial xlPasteValues &#8216;数値1を値のみペースト</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;D11:D15&#8221;).Copy &#8216;数値2をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;C4&#8221;).PasteSpecial xlPasteValues &#8216;数値2を値のみペースト</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;G8:G12&#8221;).Copy &#8216;数値3をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;D4&#8221;).PasteSpecial xlPasteValues &#8216;数値3を値のみペースト</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;G17:G21&#8221;).Copy &#8216;数値4をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;E4&#8221;).PasteSpecial xlPasteValues &#8216;数値4を値のみペースト</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;I8:I12&#8221;).Copy &#8216;数値5をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;F4&#8221;).PasteSpecial xlPasteValues &#8216;数値5を値のみペースト</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;J17:J21&#8221;).Copy &#8216;数値6をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;G4&#8221;).PasteSpecial xlPasteValues &#8216;数値6を値のみペースト</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ<br>Range(&#8220;L9:L13&#8221;).Copy &#8216;数値7をコピー<br>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ<br>Range(&#8220;H4&#8221;).PasteSpecial xlPasteValues &#8216;数値7を値のみペースト</p><p></p><p>End Sub</p></blockquote>



<p>長いですね。</p>



<p>実行結果は下図の通りです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="872" height="290" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-111.png" alt="" class="wp-image-2475" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-111.png 872w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-111-300x100.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-111-768x255.png 768w" sizes="(max-width: 872px) 100vw, 872px" /></figure>



<p><br>コピー元のシートとペースト先のシートが異なるため<br>シートを毎回アクティブにしないといけないという悪さがあります。</p>



<p>この長く見にくいプログラムを配列を使用することで簡潔にすることができます。</p>



<h2 class="wp-block-heading"><span id="toc2">■配列に格納して貼り付けする</span></h2>



<p>では本題の配列を使用して貼り付けを行いたいと思います。<br>配列なので<strong><span class="marker-under-red">変数は「Variant型」</span></strong>になります。</p>



<p>変数についての記事はこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-6%e3%80%91%e5%a4%89%e6%95%b0%e3%81%a8%e3%81%af%e5%a4%89%e6%95%b0%e3%81%ae%e4%b8%80%e8%a6%a7%e3%81%a8%e6%84%8f%e5%91%b3%e3%83%bb%e5%a4%89%e6%95%b0%e3%81%ae%e5%ae%a3/">【VBA知識 6】変数とは?変数の一覧と意味・変数の宣言をする ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>今回は見本で「A」というVariant型の変数を使用したいと思います。<br>ではプログラムから見てみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub BeforからAfterに配列を使用してコピーペースト()</p><p></p><p>Dim A(7) As Variant</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ</p><p>A(1) = Range(&#8220;B4:B8&#8221;) &#8216;数値1を格納<br>A(2) = Range(&#8220;D11:D15&#8221;) &#8216;数値2を格納<br>A(3) = Range(&#8220;G8:G12&#8221;) &#8216;数値3を格納<br>A(4) = Range(&#8220;G17:G21&#8221;) &#8216;数値4を格納<br>A(5) = Range(&#8220;I8:I12&#8221;) &#8216;数値5を格納<br>A(6) = Range(&#8220;J17:J21&#8221;) &#8216;数値6を格納<br>A(7) = Range(&#8220;L9:L13&#8221;) &#8216;数値7を格納</p><p></p><p>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ</p><p></p><p>Range(&#8220;B4:B8&#8221;) = A(1) &#8216;数値1を貼り付け<br>Range(&#8220;C4:C8&#8221;) = A(2) &#8216;数値2を貼り付け<br>Range(&#8220;D4:D8&#8221;) = A(3) &#8216;数値3を貼り付け<br>Range(&#8220;E4:E8&#8221;) = A(4) &#8216;数値4を貼り付け<br>Range(&#8220;F4:F8&#8221;) = A(5) &#8216;数値5を貼り付け<br>Range(&#8220;G4:G8&#8221;) = A(6) &#8216;数値6を貼り付け<br>Range(&#8220;H4:H8&#8221;) = A(7) &#8216;数値7を貼り付け</p><p></p><p>End Sub</p></blockquote>



<p>いかがでしょうか。<br>すっきりしましたね。</p>



<p>実行した結果も見てみましょう。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="179" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-112-1024x179.png" alt="" class="wp-image-2476" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-112-1024x179.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-112-300x53.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-112-768x134.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-112-1536x269.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-112.png 1679w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>無事、データを貼り付けすることができました。<br>では仕組みを解説します。</p>



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><span class="bold-red">Dim A(7) As Variant</span><br>こちらで配列のAという変数が（7）で7つあることを宣言します。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><span class="bold-red">A(1) = Range(&#8220;B4:B8&#8221;) &#8216;数値1を格納<br>・・・<br>A(7) = Range(&#8220;L9:L13&#8221;) &#8216;数値7を格納</span></p><p>A(1)から順にA(7)まで数値1から7を格納していきます。</p></blockquote>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><span class="bold-red">Range(&#8220;B4:B8&#8221;) = A(1) &#8216;数値1を貼り付け<br>・・・<br>Range(&#8220;H4:H8&#8221;) = A(7) &#8216;数値7を貼り付け</span></p><p>ここで指定した位置にA(1)からA(7)まで順番に出力を行います。</p></blockquote>



<figure class="wp-block-image size-full"><img decoding="async" width="902" height="290" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-114.png" alt="" class="wp-image-2479" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-114.png 902w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-114-300x96.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-114-768x247.png 768w" sizes="(max-width: 902px) 100vw, 902px" /></figure>



<p>コピー&amp;ペーストを繰り返していた作業が楽になりましたね。<br>さらにFor Nextを使用することも可能です。</p>



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



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-7%e3%80%91fornext%e3%81%a7%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e6%95%b0%e5%80%a4%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc/">【VBA知識 7】FOR…NEXTで指定した数値で繰り返し・ループ動作をする。 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub BeforからAfterに配列を使用してコピー&amp;ペースト()</p><p></p><p>Dim A(7) As Variant, B As Long</p><p></p><p>Worksheets(&#8220;Befor&#8221;).Activate &#8216;シートBeforをアクティブ</p><p>A(1) = Range(&#8220;B4:B8&#8221;) &#8216;数値1を格納<br>A(2) = Range(&#8220;D11:D15&#8221;) &#8216;数値2を格納<br>A(3) = Range(&#8220;G8:G12&#8221;) &#8216;数値3を格納<br>A(4) = Range(&#8220;G17:G21&#8221;) &#8216;数値4を格納<br>A(5) = Range(&#8220;I8:I12&#8221;) &#8216;数値5を格納<br>A(6) = Range(&#8220;J17:J21&#8221;) &#8216;数値6を格納<br>A(7) = Range(&#8220;L9:L13&#8221;) &#8216;数値7を格納</p><p></p><p>Worksheets(&#8220;After&#8221;).Activate &#8216;シートAfterをアクティブ</p><p></p><p>For B = 1 To 7 Step 1<br>Range(Cells(4, B + 1), Cells(8, B + 1)) = A(B) &#8216;数値1を貼り付け<br>Next B</p><p></p><p>End Sub</p></blockquote>



<p>とてもすっきりしましたね。</p>



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



<p>いかがだったでしょうか。<br>繰り返し行っていたコピペが配列を使用することで<br>簡潔にまとめることができました。</p>



<p>ぜひ配列を使用して文字の格納から貼り付けを行ってみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e8%a4%87%e6%95%b0%e3%81%ae%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%81%ae%e3%82%b3%e3%83%94%e3%83%bc%e3%83%9a%e3%83%bc%e3%82%b9%e3%83%88%e3%81%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2473</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-29%e3%80%91%e3%82%a4%e3%83%9f%e3%83%87%e3%82%a3%e3%82%a8%e3%82%a4%e3%83%88%e3%82%a6%e3%82%a4%e3%83%b3%e3%83%89%e3%82%a6%e3%81%a7%e5%a4%89/?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-29%25e3%2580%2591%25e3%2582%25a4%25e3%2583%259f%25e3%2583%2587%25e3%2582%25a3%25e3%2582%25a8%25e3%2582%25a4%25e3%2583%2588%25e3%2582%25a6%25e3%2582%25a4%25e3%2583%25b3%25e3%2583%2589%25e3%2582%25a6%25e3%2581%25a7%25e5%25a4%2589</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-29%e3%80%91%e3%82%a4%e3%83%9f%e3%83%87%e3%82%a3%e3%82%a8%e3%82%a4%e3%83%88%e3%82%a6%e3%82%a4%e3%83%b3%e3%83%89%e3%82%a6%e3%81%a7%e5%a4%89/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 24 Mar 2022 13:57:24 +0000</pubDate>
				<category><![CDATA[デバッグ操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[デバッグ]]></category>
		<category><![CDATA[イミディエイトウインドウ]]></category>
		<category><![CDATA[配列]]></category>
		<category><![CDATA[Debug.Print]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=2437</guid>

					<description><![CDATA[前回はブレークポイントなどを使用してプロシージャ（プログラム）実行を行いました。プログラムの実行についての記事はこちらから☟ 【マクロVBA知識 28】指定した位置まで実行する!ブレークポイント・カーソル行の前まで実行と [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>前回はブレークポイントなどを使用してプロシージャ（プログラム）実行を行いました。<br>プログラムの実行についての記事はこちらから☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-28%e3%80%91%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%9f%e4%bd%8d%e7%bd%ae%e3%81%be%e3%81%a7%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b%e3%83%96%e3%83%ac/?preview_id=2352&amp;preview_nonce=d9a391552b&amp;preview=true&amp;_thumbnail_id=2369">【マクロVBA知識 28】指定した位置まで実行する!ブレークポイント・カーソル行の前まで実行とは ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>今回はデバッグ操作で役立つ<strong><span class="marker-under">変数の確認・変更、計算結果の出力や<br>プログラムの実行ができるイミディエイトウインドウ</span></strong>について紹介したいとします。</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">■イミディエイトウインドウの表示方法について</a><ol><li><a href="#toc2" tabindex="0">・①ショートカットキーを使用する</a></li><li><a href="#toc3" tabindex="0">・②表示メニューから表示する</a></li></ol></li><li><a href="#toc4" tabindex="0">■イミディエイトウインドウを活用する</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">■イミディエイトウインドウに結果を表示する</a></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc11" tabindex="0">■まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■イミディエイトウインドウの表示方法について</span></h2>



<p>まず、イミディエイトウインドウの表示方法について紹介します。<br>イミディエイトウインドウは通常は隠れていますが、設定して表示することで<br>初めて使用することができます。</p>



<p>表示する方法は2種類あります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong><span class="fz-20px">①ショートカットキーを使用する<br>②表示メニューから表示する</span></strong></p></blockquote>



<p>では詳しく見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">・①ショートカットキーを使用する</span></h3>



<p>まずは<strong><span class="marker-under">ショートカットキーを使用する方法</span></strong>についてです。<br>ショートカットキーは手間が少なくとても便利なのでおすすめです。</p>



<p>イミディエイトウインドウを表示するショートカットキーは<strong><span class="marker-under-red">「Ctrl + G 」</span></strong>になります。<br>では押してみましょう。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="300" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-86-1024x300.png" alt="" class="wp-image-2438" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-86-1024x300.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-86-300x88.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-86-768x225.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-86-1536x450.png 1536w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-86.png 1623w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>イミディエイトウインドウを表示することができました。</p>



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



<p>次は<strong><span class="marker-under">表示メニューからイミディエイトウインドウを表示する方法</span></strong>について紹介します。<br>まず<strong><span class="marker-under-red">「表示」</span></strong>のメニューを選択してください。</p>



<p>そこから<strong><span class="marker-under-red">「イミディエイトウインドウ」</span></strong>を押せばイミディエイトウインドウを表示することができます。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-87.png" alt="" class="wp-image-2439" width="469" height="431" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-87.png 709w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-87-300x276.png 300w" sizes="(max-width: 469px) 100vw, 469px" /></figure>



<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>まず<strong><span class="marker-under">変数の確認</span></strong>について紹介します。<br>例としてFor Nextの見本を用意しました。</p>



<p>内容としてB列・C列の数値の和をE列に表示するといった内容です。</p>



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



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



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



<p>プログラムの内容としては<strong><span class="marker-under-blue">Aは3から7まで繰り返す処理</span></strong>となってます。<br>しかしデバック途中に変数はどのくらい進んだのかきになりますよね。</p>



<p>では下記の処理まで進めた状態で変数の確認をしてみます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1021" height="235" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-89.png" alt="" class="wp-image-2441" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-89.png 1021w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-89-300x69.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/03/image-89-768x177.png 768w" sizes="(max-width: 1021px) 100vw, 1021px" /></figure>



<p>ではイミディエイトウインドウを活用しましょう。<br>使用方法として<strong><span class="marker-under-red">「？」の後に知りたい変数を打ち込みます</span></strong>。<br>今回は<strong><span class="marker-under-red">変数Aを知りたいので「?A」</span></strong>となりますね。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="216" height="105" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-90.png" alt="" class="wp-image-2442"/></figure>



<p>この状態で「Enter」を押してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="143" height="101" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-91.png" alt="" class="wp-image-2443"/></figure>



<p>「5」という結果が出力されました。<br>処理は<strong><span class="marker-under-blue">A=3行目から始まっって5行目で止まっているので「5」が出力</span></strong>された仕組みです。</p>



<p>変数の変更については下記記事でまとめてますので是非参考にしてみてください☟</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%83%87%e3%83%90%e3%83%83%e3%82%b0%e3%80%91%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e5%87%a6%e7%90%86%e3%81%ae%e5%a4%89%e6%95%b0%e3%82%92%e4%bb%bb%e6%84%8f/?preview_id=2371&amp;preview_nonce=3264ccc8ce&amp;preview=true&amp;_thumbnail_id=2386">【マクロVBAデバッグ】繰り返し処理の変数を任意の数値・途中から実行する方法について ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<h3 class="wp-block-heading"><span id="toc6">・セルの数値・文字を確認する</span></h3>



<p>次に<strong><span class="marker-under">セルの内容の確認方法</span></strong>を見てみましょう。<br>先ほどの見本を使用します。</p>



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



<p>見本で<strong><span class="marker-under-blue">「E3」の結果を知りたいとします</span></strong>。<br>使用方法として「？」の後に知りたい変数を打ち込みます。<br>今回はE3の番地の数値・文字を知りたいので<strong><span class="marker-under-red">「?Cells(3,5)」</span></strong>となりますね。<br><strong><span class="marker-under-red">「?Range(&#8220;E3&#8221;)」</span></strong>でも同じ意味です。</p>



<p>この状態で<span class="marker-under-red"><strong>「Enter」</strong></span>を押してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="189" height="170" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-93.png" alt="" class="wp-image-2445"/></figure>



<p>E3に入力されてある<strong><span class="marker-under-blue">「46」</span></strong>が出力されました。</p>



<p>さらに配列内の数値・文字も確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">・配列内の数値・文字を確認する</span></h3>



<p>次に配列内の数値・文字を確認してみましょう。<br>今回は<strong><span class="marker-under-blue">B3からC7を変数A</span><span class="marker-under-blue">という</span><span class="marker-under-blue">配列内に格納しています</span></strong>。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub 配列内の数値を確認()</p><p>Dim A As Variant</p><p>A = Range(&#8220;B3:C7&#8221;)</p><p>End Sub</p></blockquote>



<p>では<strong><span class="marker-under-blue">配列Aの2行目の2列目の数値をイミディエイトウインドウで確認</span></strong>してみましょう。<br><strong><span class="marker-under-red">配列Aの2行目の2列目は「A(2,2)」</span></strong>となります。</p>



<p>そしてこれまで通り先頭に「?」をイミディエイトウインドウに打ち込み<br>そのあとに<strong><span class="marker-under-red">「A(2,2)」</span></strong>を打ち込んで<strong><span class="marker-under-red">「Enter」</span></strong>を押します。</p>



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



<figure class="wp-block-image size-full"><img decoding="async" width="150" height="117" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-95.png" alt="" class="wp-image-2447"/></figure>



<p><strong><span class="marker-under-red">2行目の2列目である「48」が出力</span></strong>されました。<br>今回は配列内の行・列数は少ないですが<br>大量のデータを格納している数値を確認する際はとても便利ですね。</p>



<h3 class="wp-block-heading"><span id="toc8">・文字・数値を入力・計算する</span></h3>



<p>あまり使用する機会はないと思いますが<br>イミディエイトウインドウを用いて<strong><span class="marker-under">文字・数値を打ち込むことも可能</span></strong>です。</p>



<p>使用方法は簡単で、通常の文字・数値を打ち込むプログラム・計算するプログラムを<br>イミディエイトウインドウに入力し、「Enter」を押すだけです。</p>



<p>では見本を見てみましょう。</p>



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



<p>「E3」に「B3」と「C3」を足した数値を入力するとします。<br>プログラムは「Range(&#8220;E3&#8221;)=Range(&#8220;B3&#8221;)+Range(&#8220;C3&#8221;)」としましょう。</p>



<p>こちらをイミディエイトウインドウに直接打ち込みます。</p>



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



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



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



<p>計算できていますね。<br>変数を用いて1回限りの計算をしたい時などには使用できるかもしれませんね。</p>



<h2 class="wp-block-heading"><span id="toc9">■イミディエイトウインドウに結果を表示する</span></h2>



<p>これまではイミディエイトウインドウから結果などを確認していましたが<br><strong><span class="marker-under">結果をイミディエイトウインドウに表示することもできます</span></strong>。</p>



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



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



<p>数値1と数値2があります。<br>今回<strong><span class="marker-under-blue">は2つの和をイミディエイトウインドウに表示</span></strong>してみましょう。</p>



<p>使用するのは<strong><span class="marker-under-red">「Debug.Print」</span></strong>になります。<br>使用方法として<strong><span class="marker-under-red">Debug.Printの後にイミディエイトウインドウに表示したい<br>プログラムを入力</span></strong>します。プログラムは変数でもいいですし、計算式でも構いません。</p>



<p>では下記プログラムをご覧ください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub イミディエイトウインドウに表示()</p><p><span class="bold-red">Debug.Print</span> Cells(3, 2) + Cells(3, 3)</p><p>End Sub</p></blockquote>



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



<figure class="wp-block-image size-full"><img decoding="async" width="206" height="130" src="https://dokugakuexcel.com/wp-content/uploads/2022/03/image-100.png" alt="" class="wp-image-2452"/></figure>



<p><strong><span class="marker-under-red">数値1と数値2の和が表示</span></strong>されました。<br>変数の結果や式の結果を表示したい時に使用できますね。</p>



<p></p>



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



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



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



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



<p>いかがだったでしょうか。<br>特に配列内の数値・文字の確認はイミディエイトウインドウを<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%e7%9f%a5%e8%ad%98-29%e3%80%91%e3%82%a4%e3%83%9f%e3%83%87%e3%82%a3%e3%82%a8%e3%82%a4%e3%83%88%e3%82%a6%e3%82%a4%e3%83%b3%e3%83%89%e3%82%a6%e3%81%a7%e5%a4%89/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2437</post-id>	</item>
	</channel>
</rss>
