<?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>Withステートメント | VBA・GAS・Pythonで仕事を楽しく効率化</title>
	<atom:link href="https://officevba.info/category/vba%e5%85%b1%e9%80%9a/with-statement/feed/" rel="self" type="application/rss+xml" />
	<link>https://officevba.info</link>
	<description>仕事の役に立つVBA・GAS・Pythonのコードを紹介していきます。</description>
	<lastBuildDate>Sat, 31 Jan 2026 12:33:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://officevba.info/wp-content/uploads/2017/04/cropped-Excel_1-32x32.jpg</url>
	<title>Withステートメント | VBA・GAS・Pythonで仕事を楽しく効率化</title>
	<link>https://officevba.info</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>コードがすっきりするWithステートメント</title>
		<link>https://officevba.info/withstatement/</link>
					<comments>https://officevba.info/withstatement/#respond</comments>
		
		<dc:creator><![CDATA[okumasahito]]></dc:creator>
		<pubDate>Sun, 26 Jun 2016 07:37:44 +0000</pubDate>
				<category><![CDATA[Withステートメント]]></category>
		<guid isPermaLink="false">http://officevba.info/?p=235</guid>

					<description><![CDATA[目次 VBA(マクロ)コードを誰から見ても見やすくする配慮は大事Withステートメントを覚えておくメリットしつこい繰り返しを書かないための記述方法必要な部分をまとめられる VBA(マクロ)コードを誰から見ても見やすくする [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VBA(マクロ)コードを誰から見ても見やすくする配慮は大事</a></li><li><a href="#toc2" tabindex="0">Withステートメントを覚えておくメリット</a></li><li><a href="#toc3" tabindex="0">しつこい繰り返しを書かないための記述方法</a></li><li><a href="#toc4" tabindex="0">必要な部分をまとめられる</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">VBA(マクロ)コードを誰から見ても見やすくする配慮は大事</span></h2>
<p>VBAに慣れてくると人の書いたコードを見ることもあるのですが、人の書いたコードの見にくさを実感しています。<br />
今日はVBAのコードが見やすくなるための記述方法のうち、Withステートメントについてお伝えします。</p>
<h2><span id="toc2">Withステートメントを覚えておくメリット</span></h2>
<p>私自身はあまりコードを作る際にWithステートメントを使うことは少ないです。ですが、マクロ機能を用いてコードを作成したあと修正しようとしたとき、場合によってはWithステートメントが記録されている場合があります。<br />
そのため、マクロ機能で記録されたVBAコードを編集・改良する際には若干の知識が必要です。</p>
<h2><span id="toc3">しつこい繰り返しを書かないための記述方法</span></h2>
<p>ある対象に対してたくさんのプロパティを変更する場合に有効です。例えばあるセルに書かれている文字のフォントサイズを変え、太線にして、斜体にして、下線を引き、色を変え、塗りつぶしを変える場合などです。（そんなに頻繁に行うわけではないと思いますが）</p>
<div class="VBACode">Sub Macro1()<br />
    <span class="VBA_Tab1">Cells(1, 1).Font.Size = 11<span class="VBA_Comment">’セルA1のフォントサイズを11にする</span></span><br />
    <span class="VBA_Tab1">Cells(1, 1).Font.Bold = True<span class="VBA_Comment">’セルA1のフォントを太字にする</span></span><br />
    <span class="VBA_Tab1">Cells(1, 1).Font.Italic = True<span class="VBA_Comment">’セルA1のフォントを斜体にする</span></span><br />
    <span class="VBA_Tab1">Cells(1, 1).Font.Underline = xlUnderlineStyleSingle<span class="VBA_Comment">’セルA1のフォントにアンダーラインを引く</span></span><br />
    <span class="VBA_Tab1">Cells(1, 1).Font.Color = -16776961<span class="VBA_Comment">’セルA1のフォントの色を赤にする</span></span><br />
    <span class="VBA_Tab1">Cells(1, 1).Interior.Color = 65535<span class="VBA_Comment">’セルA1の背景色を黄色にする</span></span><br />
End Sub</div>
<p>Cells(1, 1)の部分が共通なので、Withステートメントを用いて表すと以下のようになります。</p>
<div class="VBACode">Sub Macro1()<br />
    <span class="VBA_Tab1">With Cells(1, 1) <span class="VBA_Comment">’セルA1について</span></span><br />
        <span class="VBA_Tab2">.Font.Size = 11<span class="VBA_Comment">’フォントサイズを11にする</span></span><br />
        <span class="VBA_Tab2">.Font.Bold = True<span class="VBA_Comment">’フォントを太字にする</span></span><br />
        <span class="VBA_Tab2">.Font.Italic = True<span class="VBA_Comment">’フォントを斜体にする</span></span><br />
        <span class="VBA_Tab2">.Font.Underline = xlUnderlineStyleSingle<span class="VBA_Comment">’フォントにアンダーラインを引く</span></span><br />
        <span class="VBA_Tab2">.Font.Color = -16776961<span class="VBA_Comment">’フォントの色を赤にする</span></span><br />
        <span class="VBA_Tab2">.Interior.Color = 65535<span class="VBA_Comment">’背景色を黄色にする</span></span><br />
    <span class="VBA_Tab1">End With <span class="VBA_Comment">’セルA1についてまとめた記述を終了する</span></span><br />
End Sub</div>
<h2><span id="toc4">必要な部分をまとめられる</span></h2>
<p>対象となる部分をまとめて記述することで、見やすくなります。マクロ機能で書いたコードは違う部分でWithステートメントを使っていたりする場合もあります。</p>
<div class="VBACode">Sub Macro1()<br />
    <span class="VBA_Tab1">With Cells(1, 1).Font <span class="VBA_Comment">’セルA1のフォントについて</span></span><br />
        <span class="VBA_Tab2">.Size = 11<span class="VBA_Comment">’サイズを11にする</span></span><br />
        <span class="VBA_Tab2">.Bold = True<span class="VBA_Comment">’太字にする</span></span><br />
        <span class="VBA_Tab2">.Italic = True<span class="VBA_Comment">’斜体にする</span></span><br />
        <span class="VBA_Tab2">.Underline = xlUnderlineStyleSingle<span class="VBA_Comment">’アンダーラインを引く</span></span><br />
        <span class="VBA_Tab2">.Color = -16776961<span class="VBA_Comment">’色を赤にする</span></span><br />
    <span class="VBA_Tab1">End With <span class="VBA_Comment">’セルA1のフォントについてまとめた記述を終了する</span></span><br />
    <span class="VBA_Tab1">Cells(1, 1).Interior.Color = 65535<span class="VBA_Comment">’セルA1の背景色を黄色にする</span></span><br />
End Sub</div>
<p></p>
<p>どちらでもよいですが、整理しておくと後々編集するのが楽になります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://officevba.info/withstatement/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
