<?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>日付・時間 &#8211; とりっぷぼうる</title>
	<atom:link href="https://tripbowl.net/tag/%E6%97%A5%E4%BB%98%E3%83%BB%E6%99%82%E9%96%93/feed/" rel="self" type="application/rss+xml" />
	<link>https://tripbowl.net</link>
	<description>観光地にはお得なフリーパスあり</description>
	<lastBuildDate>Tue, 01 Aug 2023 10:49:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>https://tripbowl.net/wp-content/uploads/2021/09/cropped-9363d75a338bc1796f4d8b21a4a8670f-32x32.jpg</url>
	<title>日付・時間 &#8211; とりっぷぼうる</title>
	<link>https://tripbowl.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>エクセル関数とVBAで和暦西暦対応カレンダー作成</title>
		<link>https://tripbowl.net/vba-calendar/</link>
		
		<dc:creator><![CDATA[とりっぷぼうる]]></dc:creator>
		<pubDate>Sun, 07 Oct 2018 13:17:08 +0000</pubDate>
				<category><![CDATA[エクセル関数]]></category>
		<category><![CDATA[日付・時刻関数]]></category>
		<category><![CDATA[日付・時間]]></category>
		<guid isPermaLink="false">https://tripbowl.net/?p=1167</guid>

					<description><![CDATA[<p><img src="https://tripbowl.net/wp-content/uploads/2018/10/9d725461398dfe7a847d95ac78b1e675.jpg" class="webfeedsFeaturedVisual" /></p>エクセル関数を基本として作成し、ユーザーフォームで日付選択ができるようにすることで複雑なマクロが分からなくても、自由にカスタマイズして自分のエクセルに組み込んでみませんか？ 住所録など作成する時に、和暦がまだまだ多いので [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://tripbowl.net/wp-content/uploads/2018/10/9d725461398dfe7a847d95ac78b1e675.jpg" class="webfeedsFeaturedVisual" /></p><p>エクセル関数を基本として作成し、ユーザーフォームで日付選択ができるようにすることで複雑なマクロが分からなくても、自由にカスタマイズして自分のエクセルに組み込んでみませんか？</p>
<p>住所録など作成する時に、和暦がまだまだ多いので和暦・西暦変換もできるようにしてみました。</p>
<h2>エクセル2010以降消えたカレンダー機能</h2>
<p>今でも多くの方が使っていると思いますが、エクセル2007までは標準機能としてカレンダーコントロールがありました。</p>
<p>私のデスクトップパソコンはまだエクセル2007で、前のノートパソコンが2010！</p>
<p>ところがエクセル2007でカレンダーコントロール機能を使用して作ったエクセルファイルがエクセル2010では使えなくなってしまいました。</p>
<p>もちろん今使っているエクセル2016でも使えません。</p>
<p><img decoding="async" class="aligncenter size-full wp-image-1349" src="https://tripbowl.net/wp-content/uploads/2018/10/4.jpg" alt="カレンダーコントロール" width="438" height="180" srcset="https://tripbowl.net/wp-content/uploads/2018/10/4.jpg 438w, https://tripbowl.net/wp-content/uploads/2018/10/4-300x123.jpg 300w" sizes="(max-width: 438px) 100vw, 438px" /></p>
<p>理由は分かりませんが、使えなくなったことは事実。</p>
<p>仕方なく「YYYY/MM/DD」形式で入力をしていましたが、日付入力が少なければいいのですが数が多くなると、カレンダーコントロール機能が欲しくなる。</p>
<p>そこでエクセルでカレンダーを作ってみました。</p>
<h2>エクセル関数とVBAを組み合わせてカレンダーを作る</h2>
<p><img decoding="async" class="aligncenter size-full wp-image-1350" src="https://tripbowl.net/wp-content/uploads/2018/10/9d725461398dfe7a847d95ac78b1e675.jpg" alt="和暦西暦対応VBAカレンダー" width="800" height="436" srcset="https://tripbowl.net/wp-content/uploads/2018/10/9d725461398dfe7a847d95ac78b1e675.jpg 800w, https://tripbowl.net/wp-content/uploads/2018/10/9d725461398dfe7a847d95ac78b1e675-300x164.jpg 300w, https://tripbowl.net/wp-content/uploads/2018/10/9d725461398dfe7a847d95ac78b1e675-768x419.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>出来上がったカレンダーはエクセルVBAのユーザーフォームで、レイアウト自体は難しいことはなく、日付自体はコマンドボタンを37個配置しただけです。</p>
<div class="speech-wrap sb-id-16 sbs-flat sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"></figure>
<div class="speech-name">波乗りアヒル</div>
</div>
<div class="speech-balloon">
<p>37個の理由は1日が土曜日の時に31日が月曜になるので、最大数の37個コマンドボタンを配置しました。</p>
<p>では、このユーザーフォームの基本説明です。</p>
</div>
</div>
<p>2つのテキストボックス「年」と「月」を入力して【表示】ボタンを押すと、指定した月の日付が37個の各コマンドボタンに表示されます。</p>
<div class="information-box">画像上は2018年10月が表示されています</div>
<p>【前月】ボタンを押すと2018年9月が表示、【翌月】ボタンを押すと2018年11月が表示されます。</p>
<div class="speech-wrap sb-id-16 sbs-flat sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"></figure>
<div class="speech-name">波乗りアヒル</div>
</div>
<div class="speech-balloon">
<p>使い勝手として、これができれば十分だと思っています。</p>
</div>
</div>
<h3>和暦を西暦に変換対応させる</h3>
<p>カレンダーコントロール機能を使っていて不便に思ったのが、住所録登録をしている時に和暦（昭和・平成）で誕生日が記載されていたので、わざわざ西暦にして入力していました。</p>
<p>和暦のままで入力してもいいのですが、誕生日を計算するのがまた面倒で、西暦ならばエクセル関数で自動的に年齢が表示できるので、西暦にしていました。</p>
<p>そこでオリジナルのカレンダーを作るのならば、和暦を西暦に変換する機能も付け加えました。</p>
<div class="speech-wrap sb-id-16 sbs-flat sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"></figure>
<div class="speech-name">波乗りアヒル</div>
</div>
<div class="speech-balloon">
<p>和暦から西暦に変換する方法は画像のフレーム内（西暦変換）を使います。</p>
</div>
</div>
<p>一般的には和暦といえば、明治・大正・昭和・平成ですが、明治・大正は使わないので、昭和と平成そして次の元号（予備）２つで、オプションボタン選択方式で作っています。</p>
<p>例えば、昭和40年ならば、「昭和」を選択して、テキストボックスに「40」を入力して【変換】ボタンを押すと、下記画像のようになります。</p>
<p><img decoding="async" class="aligncenter size-full wp-image-1351" src="https://tripbowl.net/wp-content/uploads/2018/10/847bb07865ccc3ecb9152a7beb04b535.jpg" alt="カレンダー和暦西暦変換" width="800" height="437" srcset="https://tripbowl.net/wp-content/uploads/2018/10/847bb07865ccc3ecb9152a7beb04b535.jpg 800w, https://tripbowl.net/wp-content/uploads/2018/10/847bb07865ccc3ecb9152a7beb04b535-300x164.jpg 300w, https://tripbowl.net/wp-content/uploads/2018/10/847bb07865ccc3ecb9152a7beb04b535-768x420.jpg 768w, https://tripbowl.net/wp-content/uploads/2018/10/847bb07865ccc3ecb9152a7beb04b535-120x67.jpg 120w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>年のところに「1965」と表示され、自動的に和暦が西暦に変換されました。</p>
<p>あとは「月」を入力して【表示】ボタンを押せば、1965年（昭和40年）の指定した月の日付がカレンダー上に表示されます。</p>
<div class="speech-wrap sb-id-16 sbs-flat sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"></figure>
<div class="speech-name">波乗りアヒル</div>
</div>
<div class="speech-balloon">
<p>これで和暦でも西暦でもどちらでも簡単に対応できました。</p>
</div>
</div>
<h4>エクセル関数の設定</h4>
<div class="column-wrap column-2 column-2-3-1-2">
<div class="column-left">
<p><img decoding="async" class="aligncenter wp-image-1367 size-full" src="https://tripbowl.net/wp-content/uploads/2018/10/b8c6349a69b023d2c59642440914e365.jpg" alt="和暦一覧表" width="237" height="549" srcset="https://tripbowl.net/wp-content/uploads/2018/10/b8c6349a69b023d2c59642440914e365.jpg 237w, https://tripbowl.net/wp-content/uploads/2018/10/b8c6349a69b023d2c59642440914e365-130x300.jpg 130w" sizes="(max-width: 237px) 100vw, 237px" /></p>
</div>
<div class="column-right">
<p>和暦を西暦に変換するのもVBAで複雑に考えるよりも、エクセル関数で準備しておけば簡単です。</p>
<p>画像は昭和21年（セルF26）で切れていますが、実際はセルF230までの範囲で平成以降も入力できるようにしてあります。</p>
<p>ちなみに昭和64年はセルF69、平成31年はセルF100なので、予備ありすぎかな？</p>
<p>【変換】ボタンを押すと、オプションボタンで選択された和暦がF2へ転記、テキストボックスに入力された「年」がセルG2へ転記され、セルH2に結合された和暦が表示されます。</p>
<p>セルH4で変換された西暦が表示される仕組みです。</p>
</div>
</div>
<p>セルH2には和暦（セルF2）と年数（セルG2）と年が結合する数式を入れています。</p>
<p>ここでは、昭和と40と年を結合します。</p>
</p>
<p><center><a class="btn btn-green btn-m" href="https://tripbowl.net/excel-combine/" target="_blank" rel="noopener noreferrer">エクセル関数を使って2つのセルの値をくっつける方法</a></center></p>
<div class="blank-box bb-blue">=F2&amp;G2&amp;G1</div>
<p>とても単純に結合する数式はセルを「&amp;」でつなぐだけです。</p>
<p>ここで出来上がった「昭和40年」（セルH2）を年表から見つけ出せば和暦を西暦に変換できるのです。</p>
<p>そこで使うのが検索をするVLOOKUP関数でセルH4に入れます。</p>
</p>
<p><center><a class="btn btn-green btn-m" href="https://tripbowl.net/excel-vlookup/" target="_blank" rel="noopener noreferrer">表の中から検索して指定した値を探すVLOOKUP関数</a></center></p>
<div class="blank-box bb-blue">=VLOOKUP(H2,F5:G230,2,0)</div>
<p>H2は結合して出来上がった昭和40年（H2）で、表の範囲がF5～G30です。</p>
<p>そして「2」は表の2列目（西暦）を指し、「0」は完全一致です。</p>
<p>こうすることで表の中からH2に表示された和暦を見つけてH4に西暦で表示します。</p>
<p>あとはVBAのユーザーフォームの出番です。</p>
<p>ここではユーザーフォームのオプションボタンを使用します。</p>
</p>
<p><center><a class="btn btn-red btn-m" href="https://tripbowl.net/vba-optionbutton/" target="_blank" rel="noopener noreferrer">オプションボタンの使い方</a></center></p>
<h4>VBAの設定</h4>
<p>【変換】ボタンには、下記のようなコードが書いてあります。</p>
<div class="blank-box bb-tab bb-check bb-blue success-box">Private Sub CommandButton39_Click()<br />If OptionButton1.Value = True Then<br />Range(&#8220;F2&#8221;).Value = &#8220;昭和&#8221;<br />ElseIf OptionButton2.Value = True Then<br />Range(&#8220;F2&#8221;).Value = &#8220;平成&#8221;<br />ElseIf OptionButton3.Value = True Then<br />Range(&#8220;F2&#8221;).Value = &#8220;予備１&#8221;<br />ElseIf OptionButton4.Value = True Then<br />Range(&#8220;F2&#8221;).Value = &#8220;予備2&#8221;<br />End If<br />Range(&#8220;G2&#8221;).Value = TextBox3.Text<br />UserForm1.TextBox1.Text = Range(&#8220;H4&#8221;).Value<br />TextBox3.Text = &#8220;&#8221;<br />End Sub</div>
<p>VBAコードの説明です。</p>
<div class="blank-box bb-yellow">
<ol>
<li>コマンドボタン39を押すと</li>
<li>もしオプションボタン1が選択されていたら</li>
<li>セルF2の値は昭和と転記する</li>
<li>そうではなくもしオプションボタン2が選択されていたら</li>
<li>セルF2の値は平成を転記する</li>
<li>そうではなくもしオプションボタン3が選択されていたら</li>
<li>セルF2の値は予備1を転記する</li>
<li>そうではなくもしオプションボタン4が選択されていたら</li>
<li>セルF2の値は予備2を転記する</li>
<li>IFステートメント終了</li>
<li>セルG2の値はテキストボックス3の入力値を転記する</li>
<li>ユーザーフォーム1のテキストボックス1の値はセルH4の値を転記する</li>
<li>テキストボックス3を空欄にする</li>
<li>マクロ終了</li>
</ol>
</div>
<p>その他3つのボタン【入会日】【誕生日】【祝日設定】などは住所録入力フォームなどで使う為に用意してあります。</p>
<p>【祝日設定】ボタンに関しては、必要性がないのですが一応作ってみたので、2018年10月8日が赤色の祝日に表示されています。</p>
<p>ここまで入力フォーム（ユーザーフォーム）の説明を書きましたが、エクセルVBAの知識が豊富な方は、祝日設定や和暦設定などを含め全てVBA上で作成できそうですが、私の知識ではそこまで出来ないので、基本的な設定はエクセル関数で行っていますので、ちょっとした変更や追加などは簡単にでき、様々なエクセルに付け加えることもできるので個人的には重宝しています。</p>
<div class="speech-wrap sb-id-16 sbs-flat sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"></figure>
<div class="speech-name">波乗りアヒル</div>
</div>
<div class="speech-balloon">
<p>では、次のページにてオリジナルカレンダーの基本的な部分のエクセル関数での設定を記載していきます。</p>
</div>
</div>
<p><span style="font-size: xx-small;">スポンサーリンク</span><script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br /><ins class="adsbygoogle" style="display: block;" data-ad-format="fluid" data-ad-layout-key="-fb+5w+4e-db+86" data-ad-client="ca-pub-5353447543379936" data-ad-slot="6002792803"></ins><br /><script><br />
     (adsbygoogle = window.adsbygoogle || []).push({});<br />
</script></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
