<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6742314861373937201</id><updated>2024-09-23T10:11:38.117+09:00</updated><category term="基本文型"/><category term="エンジニアリング"/><category term="グラフ"/><category term="デザイン"/><category term="アルゴリズム"/><category term="ファイル操作"/><category term="応用"/><category term="変数宣言"/><category term="連携"/><category term="コラム"/><category term="入出力"/><category term="微分方程式"/><category term="色"/><category term="連立方程式"/><category term="IE"/><category term="イベント処理"/><category term="インターネット"/><category term="指定"/><category term="文字列操作"/><category term="正規分布"/><category term="目次"/><category term="関数"/><category term="高速化"/><title type='text'>Excel VBA</title><subtitle type='html'>ExcelはVBAを使いこなすことでエンジニアにとって最強の友達に変身します。C++やJavaを習う傍らで、エクセルを思い通りに動かしてみませんか？シンプルな記述をモットーに、できるだけ短いプログラムを紹介します。&#xa;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-7781334207464286990</id><published>2014-11-09T18:00:00.000+09:00</published><updated>2014-11-09T18:00:29.253+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ファイル操作"/><title type='text'>フォルダの作成：FileSystemObject.CreateFolder</title><content type='html'>FileSystemObject.CreateFolderメソッドによってフォルダを作成することができます。&lt;br /&gt;
下ではfsにFileSystemObjectを指定した後、CreateFolderメソッドで C:\tmp\workフォルダを作成します。エラー処理がなされていないため、既にこのフォルダが存在する場合にはエラーで終了します。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 550px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim fs As Object&lt;br /&gt;
&amp;nbsp; Set fs = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp;&#39; オブジェクトを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fs.CreateFolder &quot;C:\tmp\work&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39; フォルダを作成&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set fs = Nothing&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/7781334207464286990/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/filesystemobjectcreatefolder.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/7781334207464286990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/7781334207464286990'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/filesystemobjectcreatefolder.html' title='フォルダの作成：FileSystemObject.CreateFolder'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-6943728600063628415</id><published>2014-11-09T17:51:00.004+09:00</published><updated>2014-11-09T17:51:35.736+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="エンジニアリング"/><title type='text'>8進数： Oct</title><content type='html'>8進数への変換は、Oct関数を用います。引数に10進数の数を入力するだけです。&lt;br /&gt;
ここでは16を与えているため、8進数で表した&quot;20&quot;がB2セルに記録されます。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; a = Oct(16) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp; &#39;8進数に変換&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Cells(2, 2) = a&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;MsgBox a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;メッセージとして表示する場合&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/6943728600063628415/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/8-oct.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/6943728600063628415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/6943728600063628415'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/8-oct.html' title='8進数： Oct'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-3496185827491864732</id><published>2014-11-09T17:48:00.002+09:00</published><updated>2014-11-09T17:48:53.397+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="エンジニアリング"/><title type='text'>16進数： Hex</title><content type='html'>16進数への変換は、Hex関数を用います。引数に10進数の数を入力するだけです。&lt;br /&gt;
ここでは16を与えているため、16進数で表した&quot;10&quot;がB2セルに記録されます。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; a = Hex(16) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39;16進数に変換&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Cells(2, 2) = a&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;MsgBox a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;メッセージとして表示する場合&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/3496185827491864732/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/16-hex.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3496185827491864732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3496185827491864732'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/16-hex.html' title='16進数： Hex'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-8266802325305335377</id><published>2014-11-09T14:43:00.001+09:00</published><updated>2014-11-09T14:47:56.701+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IE"/><category scheme="http://www.blogger.com/atom/ns#" term="インターネット"/><title type='text'>インターネットエクスプローラを操作する：InternetExplorer.Application</title><content type='html'>Excelからインターネットエクスプローラ（IE）を扱うこともできます。&lt;br /&gt;
CreateObject関数を用いて、変数browserにIEをセットします。このオブジェクト変数browserのプロパティに値をセットすることで、様々な操作をすることができます。下の例では.Visible、.Navigateをセットしていて、Infoseekのページを開いています。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim browser As Object &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;IEを扱う変数を定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp; Set&amp;nbsp;&lt;/span&gt;browser&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;= CreateObject(&quot;InternetExplorer.Application&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39;CreateObject関数でIEを起動&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;browser.Visible = True &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39; プロパティVisibleに値をセット&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;browser.Navigate &quot;http://www.infoseek.co.jp/&quot; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;Infoseekのページを開く&lt;/span&gt;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IEの操作については、次の本が非常に参考になります。&lt;br /&gt;
&lt;a href=&quot;http://www.amazon.co.jp/gp/product/4844333844/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=4844333844&amp;amp;linkCode=as2&amp;amp;tag=ghon-syoukai-22&quot;&gt;Excel VBAでIEを思いのままに操作できるプログラミング術&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://ir-jp.amazon-adsystem.com/e/ir?t=ghon-syoukai-22&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=4844333844&quot; height=&quot;1&quot; style=&quot;border: none !important; margin: 0px !important;&quot; width=&quot;1&quot; /&gt;
&lt;br /&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm-fe.amazon-adsystem.com/e/cm?t=ghon-syoukai-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=4844333844&amp;amp;ref=qf_sp_asin_til&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=FFFFFF&amp;amp;bg1=FFFFFF&amp;amp;npa=1&amp;amp;f=ifr&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/8266802325305335377/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/internet-explorerinternetexplorerapplic.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/8266802325305335377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/8266802325305335377'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/11/internet-explorerinternetexplorerapplic.html' title='インターネットエクスプローラを操作する：InternetExplorer.Application'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-4634681145500414688</id><published>2014-10-26T20:11:00.000+09:00</published><updated>2014-10-26T20:11:29.169+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>補助線を引く： SetElement</title><content type='html'>グラフの補助線を引くには、SetElementプロパティを指定します。下の例では、ワークシート&quot;sheet1&quot;の&quot;fig01&quot;チャートで、縦と横の補助線を指定しています。このSetElementプロパティはとても便利で、グラフツール[レイアウト]タブの[ラベル]や[軸]などのグループで設定できるものは全て設定が可能です。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 550px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim ws As Worksheet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;ワークシート型変数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim fig As ChartObject &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;ChartObject型変数の定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set ws = Worksheets(&quot;sheet1&quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp;&#39;ワークシート名を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Set fig = ws.ChartObjects(&quot;fig01&quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;グラフを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fig.Chart.SetElement (msoElementPrimaryCategoryGridLinesMajor) &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;縦軸&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; fig.Chart.SetElement (msoElementPrimaryValueGridLinesMajor) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;横軸&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/4634681145500414688/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/setelement.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/4634681145500414688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/4634681145500414688'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/setelement.html' title='補助線を引く： SetElement'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-330516577792673332</id><published>2014-10-26T19:48:00.000+09:00</published><updated>2014-10-26T20:11:56.030+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>凡例を表示する：HasLegend</title><content type='html'>グラフに凡例を表示するには、Chart.HasLegendプロパティを指定します。&lt;br /&gt;
ここではワークシート&quot;sheet1&quot;に、&quot;fig01&quot;というグラフがあるとします。&lt;br /&gt;
このChartObjectについて、Chart.HasLegendプロパティの値をTrueにすると、凡例が表示されます。逆にFalseにすると、凡例が消えます。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim ws As Worksheet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &#39;ワークシート型変数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim fig As ChartObject &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;ChartObject型変数の定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set ws = Worksheets(&quot;sheet1&quot;) &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&#39;ワークシート名を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Set fig = ws.ChartObjects(&quot;fig01&quot;) &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;グラフを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fig.Chart.HasLegend = True &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;凡例を表示&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39; fig.Chart.HasLegend = False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&#39;凡例を非表示&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;End Sub&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/330516577792673332/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/haslegend.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/330516577792673332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/330516577792673332'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/haslegend.html' title='凡例を表示する：HasLegend'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-2959038617152224233</id><published>2014-10-05T22:08:00.002+09:00</published><updated>2014-10-05T22:12:04.537+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="応用"/><category scheme="http://www.blogger.com/atom/ns#" term="文字列操作"/><title type='text'>文字の抽出: Mid, Left, Right</title><content type='html'>文字列の中から特定の文字を抽出したくなることがあります。例えばファイルの名前に特定の文字列を含むものだけを抽出したい時や、データから”高橋”さんを含む行を選択したり、などです。文字列の操作に長けてくると、このような検索、抽出といった操作が楽にできるようになってきます。今回はMid, Left, Right関数を使って、B2セルに書かれている文から特定の文字を抽出します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh2IC_1pbyXOVIw9CZ4XI8YHKjhbLRA14QXc7vRVJHiApnQSrRVpjCQt4OZiaKu-tf2TFEk3HXE76L6bhvuMfZHHB5a935vHIrubFRLZ5WYfYI5UMNc5qEZx_AuAfJhETdaYxSvOdWRpQ/s1600/CBIMG007.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh2IC_1pbyXOVIw9CZ4XI8YHKjhbLRA14QXc7vRVJHiApnQSrRVpjCQt4OZiaKu-tf2TFEk3HXE76L6bhvuMfZHHB5a935vHIrubFRLZ5WYfYI5UMNc5qEZx_AuAfJhETdaYxSvOdWRpQ/s1600/CBIMG007.png&quot; height=&quot;176&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Mid, Left, Rightとも、最初の引数には文字列を与えます。Mid関数の次の引数は、何文字目から選択するか、を指定し、3つめの引数で何文字分抽出するかを決めます。Mid(sss, 5, 2)とした場合、5文字目から2文字分を選択することになります。Leftは文字列の左から、Rightは右から指定文字数分を選択します。さて、今回は日本語の文字列から文字を抽出していますが、abcdeのようにアルファベットから抽出するのも同じ形です。半角・全角の違いがあるかと思っていましたが、Left(&quot;abcde&quot;,2)とすると、日本語と同じく2文字分の&quot;ab&quot;が選択されます。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim sss As String &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;文字列変数を宣言&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; sss = Cells(2, 2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;B2セルの文字列をsssに格納&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Cells(5, 2) = Mid(sss, 5, 2) &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;5文字目から2文字文&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Cells(6, 2) = Left(sss, 2)&lt;br /&gt;
&amp;nbsp; Cells(7, 2) = Right(sss, 2)&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/2959038617152224233/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/mid-left-right.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2959038617152224233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2959038617152224233'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/mid-left-right.html' title='文字の抽出: Mid, Left, Right'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh2IC_1pbyXOVIw9CZ4XI8YHKjhbLRA14QXc7vRVJHiApnQSrRVpjCQt4OZiaKu-tf2TFEk3HXE76L6bhvuMfZHHB5a935vHIrubFRLZ5WYfYI5UMNc5qEZx_AuAfJhETdaYxSvOdWRpQ/s72-c/CBIMG007.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-3702631853575228924</id><published>2014-10-05T16:31:00.000+09:00</published><updated>2014-10-05T22:16:19.048+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="イベント処理"/><category scheme="http://www.blogger.com/atom/ns#" term="応用"/><title type='text'>ダブルクリックでセルに色をつける: BeforeDoubleClick</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKIiVhglu31EyO83uIEcjBuw32jOwU366wpfHNX-oLNfBn1sYMi_WEhXSGUXCgYHdvmJ6R2ZALSGYoMidAarFSLgzybj8bzZDEeSImo7pazCxySuc9_Q1Jse6YseGhU_lSoV7btAbwLe4/s1600/CBIMG006.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKIiVhglu31EyO83uIEcjBuw32jOwU366wpfHNX-oLNfBn1sYMi_WEhXSGUXCgYHdvmJ6R2ZALSGYoMidAarFSLgzybj8bzZDEeSImo7pazCxySuc9_Q1Jse6YseGhU_lSoV7btAbwLe4/s1600/CBIMG006.png&quot; height=&quot;191&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
ダブルクリックなどユーザーが何らかの操作をしたときに、その操作に応じてイベントが発生するようにすると、更に操作性を高めることができます。これを指定するには、Worksheetモジュールと呼ばれるモジュールにコードを記述します。VBエディタ上のプロジェクトエクスプローラで、 Microsoft Excel Objects - Sheet1(sheet1)を選びます。デフォルトでは(General)というオブジェクトになっていますが、ドロップボックスからWorksheetを選びます。ここではダブルクリックに対するイベントを操作しますので、右上のプロシージャボックスの中から、BeforeDoubleClickを選びます。このプロシージャの中に記述したコードがダブルクリック時に実行されます。下の例では、セルが空でない場合ColorIndexを6（黄）に指定しています。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;ダブルクリックしたセルが空で無い場合&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; If Target.Value &amp;lt;&amp;gt; &quot;&quot; Then&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &#39;セルの色を黄色に指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Target.Interior.ColorIndex = 6&lt;br /&gt;
&amp;nbsp; End If&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
上の例では、色が黄色になったまま元に戻せなくてちょっと不便です。そこで、ColorIndexが既に6になっているセルをダブルクリックした場合のイベントを追加すると、もう少し使い勝手が良くなります。下の例ではColorIndexをxlNoneにすることで、色をはずしています。&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;ダブルクリックしたセルが空で無い場合&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; If Target.Value &amp;lt;&amp;gt; &quot;&quot; Then&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &#39;セルの色を黄色に指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; If Target.Interior.ColorIndex &amp;lt;&amp;gt; 6 Then&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Target.Interior.ColorIndex = 6&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &#39;既に黄色になっている場合は色をはずす&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Target.Interior.ColorIndex = xlNone&lt;br /&gt;
&amp;nbsp; &amp;nbsp; End If&lt;br /&gt;
&amp;nbsp; End If&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/3702631853575228924/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/beforedoubleclick.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3702631853575228924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3702631853575228924'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/beforedoubleclick.html' title='ダブルクリックでセルに色をつける: BeforeDoubleClick'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKIiVhglu31EyO83uIEcjBuw32jOwU366wpfHNX-oLNfBn1sYMi_WEhXSGUXCgYHdvmJ6R2ZALSGYoMidAarFSLgzybj8bzZDEeSImo7pazCxySuc9_Q1Jse6YseGhU_lSoV7btAbwLe4/s72-c/CBIMG006.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-1974475470242163302</id><published>2014-10-05T16:02:00.001+09:00</published><updated>2014-10-05T22:18:48.924+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ファイル操作"/><category scheme="http://www.blogger.com/atom/ns#" term="応用"/><title type='text'>確認のダイアログを表示しない: DisplayAlerts</title><content type='html'>複数のワークブックを閉じたい、など繰り返し複数の処理を行いたい場合、保存するかどうかを聞かれるダイアログボックスが一回一回表示されると自動化になりません。そこでダイアログを表示せず、強制的に処理を実行していく方法が必要です。&lt;a href=&quot;http://enjoyvba.blogspot.jp/2014/09/blog-post_37.html&quot;&gt;ワークブックを閉じる&lt;/a&gt;のを例にとります。閉じるにはWorkbooks.Closeを指定しますが、この前にApplication.DisplayAlertsプロパティをFalseに指定します。但しこの方法を取ると連続して全てのワークブックを未保存でも閉じてしまうので、使用には注意が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Application.DisplayAlerts = False&lt;br /&gt;
&amp;nbsp; Workbooks.Close &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp;&#39;全てのワークブックを閉じる&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Application.DisplayAlerts = True&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/1974475470242163302/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/displayalerts.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/1974475470242163302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/1974475470242163302'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/10/displayalerts.html' title='確認のダイアログを表示しない: DisplayAlerts'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-5494433207353810912</id><published>2014-09-21T22:12:00.001+09:00</published><updated>2014-09-27T18:17:17.109+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ファイル操作"/><title type='text'>ワークブックを閉じる: Workbooks.Close</title><content type='html'>ワークブックを閉じるには、Workbooks.Closeを指定します。複数のワークブックを開いている場合、この方法では全てのファイルを閉じに行きます。未保存の場合、上書きするかどうかを確認するダイアログボックスが開きます。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Workbooks.Close &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp;&#39;全てのワークブックを閉じる&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/5494433207353810912/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_37.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/5494433207353810912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/5494433207353810912'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_37.html' title='ワークブックを閉じる: Workbooks.Close'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-7945145011677430518</id><published>2014-09-21T22:12:00.000+09:00</published><updated>2014-09-27T18:28:40.187+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ファイル操作"/><title type='text'>ワークブックを開く: Workbooks.Open</title><content type='html'>ワークブックを開くには、次のように指定します。これも1行で完結です。ここでは開くファイルを直接指定していますが、String型の変数などをうまくつかうことでExcelのシートに書き込んだファイルを読み込んだり、ダイアログボックスでファイルを開いたり、といった応用ができます。 &lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Workbooks.Open &quot;C:\test\test.xlsm&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;test.xlsmを開く&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/7945145011677430518/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_56.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/7945145011677430518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/7945145011677430518'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_56.html' title='ワークブックを開く: Workbooks.Open'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-624783576763773963</id><published>2014-09-21T22:08:00.000+09:00</published><updated>2014-10-10T23:13:14.300+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="デザイン"/><title type='text'>セルの背景をグラデーションにする</title><content type='html'>シートを美しく見せるために、セルの背景にグラデーションをかけたくなる場合があります。&lt;a href=&quot;http://enjoyvba.blogspot.jp/2012/08/colorcell.html&quot;&gt;セルの背景に色をつける&lt;/a&gt;で説明した通り、セルの色はInterior.Colorプロパティに色を与えることで着色できます。そこでこれを少し工夫し、与える色を少しずつ変える工夫を加えることでグラデーションを作ることができます。ここでは色の指定をRGBで行います。RGBはその名の通り、順番にRed、Green、Blueを255段階で指定します。今回は赤いグラデーションを作ることにしますので、赤は常に255にします。緑、青の数字が0に近いほど純粋な赤、255に近いほど白に近づきますから、forを使って他の色の大きさを変化させれば良いわけです。このマクロでB列を10行目まで着色すると、こんな感じになります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hgnesIZ_ptC1g7jGTboRYeiz42BbYSyT1ED7VD8MlzTqOEls07Sgw1k4d_zOhbmfyXEGmI5QhhAbv7tB7eXAqHIkLDlt_dadblaeYxIxFmm_r0U-uOpQmOTBpxgdXQ3FxMQyNEfobn4/s1600/p3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hgnesIZ_ptC1g7jGTboRYeiz42BbYSyT1ED7VD8MlzTqOEls07Sgw1k4d_zOhbmfyXEGmI5QhhAbv7tB7eXAqHIkLDlt_dadblaeYxIxFmm_r0U-uOpQmOTBpxgdXQ3FxMQyNEfobn4/s1600/p3.png&quot; height=&quot;215&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; For i = 1 To 10&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39;G,Bの色を指定する。255をi/10ずつ増加させ、変数idxに格納&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; idx = 255 * i / 10&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;セルの色を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Cells(i, 2).Interior.Color = RGB(255, idx, idx)&lt;br /&gt;
&amp;nbsp; Next i&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.amazon.co.jp/gp/product/4822269949/ref=as_li_tf_tl?ie=UTF8&amp;amp;camp=247&amp;amp;creative=1211&amp;amp;creativeASIN=4822269949&amp;amp;linkCode=as2&amp;amp;tag=ghon-syoukai-22&quot;&gt;ビジネスプロフェッショナルのExcel術 (日経BPムック)&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://ir-jp.amazon-adsystem.com/e/ir?t=ghon-syoukai-22&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=4822269949&quot; height=&quot;1&quot; style=&quot;border: none !important; margin: 0px !important;&quot; width=&quot;1&quot; /&gt;

</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/624783576763773963/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_22.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/624783576763773963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/624783576763773963'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_22.html' title='セルの背景をグラデーションにする'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hgnesIZ_ptC1g7jGTboRYeiz42BbYSyT1ED7VD8MlzTqOEls07Sgw1k4d_zOhbmfyXEGmI5QhhAbv7tB7eXAqHIkLDlt_dadblaeYxIxFmm_r0U-uOpQmOTBpxgdXQ3FxMQyNEfobn4/s72-c/p3.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-2789889297153302741</id><published>2014-09-21T13:50:00.000+09:00</published><updated>2014-09-27T18:28:25.793+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>図の大きさを指定：ChartObjects.Width/Height</title><content type='html'>図の大きさを指定するには、ChartObjects.Width/Heightプロパティを指定します。ここではワークシート&quot;sheet1&quot;にある、&quot;fig01&quot;という図の大きさを、幅100ピクセル、高さ100ピクセルにする例を示します。ちなみに、（100、100）は小さすぎて実用的ではありませんので、使っているディスプレイのサイズに合わせてこの数値を好みの値に変更してください。 下の例ではChartObject型の変数&quot;fig&quot;を作り短い名前にすることで、視認性を高めています。図の位置は&lt;a href=&quot;http://enjoyvba.blogspot.jp/2014/09/chartobjectstopleft.html&quot;&gt;ChartObjects.Top/Left&lt;/a&gt;で指定しますから、この4つのプロパティを使うと図を好き配置にすることができます。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 505px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim ws As Worksheet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39;ワークシート型変数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim fig As ChartObject &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;ChartObject型変数の定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set ws = Worksheets(&quot;sheet1&quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;ワークシート名を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Set fig = ws.ChartObjects(&quot;fig01&quot;) &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;グラフを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fig.Width = 100&lt;br /&gt;
&amp;nbsp; fig.Height = 100&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/2789889297153302741/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/chartobjectswidthheight.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2789889297153302741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2789889297153302741'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/chartobjectswidthheight.html' title='図の大きさを指定：ChartObjects.Width/Height'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-2015310541986116308</id><published>2014-09-21T13:44:00.000+09:00</published><updated>2014-09-21T13:44:58.534+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>図の移動、位置の指定：ChartObjects.Top/Left</title><content type='html'>図を移動させたり位置を指定するには、ChartObjectsのTop、Leftプロパティを指定します。それぞれ数字を指定しますが、これは画面の左上からのpixel数になり、(0,0)を指定すれば画面左上の位置にぴったりとハマります。 下の例ではワークシート&quot;sheet1&quot;にある&quot;fig01&quot;という名前の図の位置を指定しています。ChartObjects(&quot;fig01&quot;)をfigという変数に割り当ててあり、fig.Top、fig.Leftをそれぞれ10に指定していますので、左上からちょっと内側に入った位置に移動します。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 520px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim ws As Worksheet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;ワークシート型変数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim fig As ChartObject &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;ChartObject型変数の定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set ws = Worksheets(&quot;sheet1&quot;)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;ワークシート名を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Set fig = ws.ChartObjects(&quot;fig01&quot;) &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;グラフを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fig.Top = 10&lt;br /&gt;
&amp;nbsp; fig.Left = 10&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/2015310541986116308/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/chartobjectstopleft.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2015310541986116308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2015310541986116308'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/chartobjectstopleft.html' title='図の移動、位置の指定：ChartObjects.Top/Left'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-6323657193229373358</id><published>2014-09-14T17:51:00.001+09:00</published><updated>2014-09-27T18:29:32.693+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>グラフを作成: Shapes.AddChart, ChartObjects.Add</title><content type='html'>グラフを作成します。実はものすごく簡単で、以下の1行で終了です。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; ActiveSheet.Shapes.AddChart&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
他の方法でも図を追加でき、下の例では最初に表示する大きさ、場所を指定できます。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Set fig = ActiveSheet.ChartObjects.Add(120, 15, 200, 150)&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
数値は左端からの座標、上端からの座標、初期サイズの幅、初期サイズの高さを指定する。&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/6323657193229373358/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_57.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/6323657193229373358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/6323657193229373358'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_57.html' title='グラフを作成: Shapes.AddChart, ChartObjects.Add'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-3416089193730434681</id><published>2014-09-14T17:49:00.001+09:00</published><updated>2014-09-27T18:35:56.568+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>グラフに表示するデータを指定する: XValues, Values</title><content type='html'>&lt;br /&gt;
2次元のグラフでは、x軸、y軸それぞれにデータが必要です。この値の指定の仕方を紹介します。このマクロをうまく使うと、新しい図を追加することなく、同じ図の中でいくつものグラフを表示するような機能を持たせることもできます。大量のデータを処理する場合には図が沢山あるとエクセル君はどんどん重くなって、PCも自分もどんどんイライラしてきますから、一工夫することで軽い処理を実現できます。&lt;br /&gt;
さて、ここではワークシート&quot;sheet1&quot;のB5からB14にxのデータ、C5からC14にyのデータが入力されているとし、&quot;fig01&quot;という名前の図が既に存在するとします。x軸のデータは&quot;XValues&quot;、y軸のデータは&quot;Values&quot;を指定します。 &lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim ws As Worksheet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;ワークシート型変数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim fig As ChartObject &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;ChartObject型変数の定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set ws = Worksheets(&quot;sheet1&quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;ワークシート名を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Set fig = ws.ChartObjects(&quot;fig01&quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;グラフを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fig.Chart.SeriesCollection(1).XValues = &quot;=Sheet1!$B$5:$B$14&quot;&lt;br /&gt;
&amp;nbsp; fig.Chart.SeriesCollection(1).Values = &quot;=Sheet1!$C$5:$C$14&quot;&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
グラフがまだ無い場合に実行するとエラーがでますから、&lt;a href=&quot;http://enjoyvba.blogspot.jp/2014/09/blog-post_57.html&quot;&gt;グラフを作成&lt;/a&gt;してから上記プログラムを試してみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqXr_7ugK1I7k3jZBikOWJ2nbz1UPXfI4fS_FhXfeVBGw2Rz6D9aVvn5ePxHBmmgH1Q8DNFCEwgK4l2h2nYjynk-xgQ4Hg_Yqh2vwKWkTafDIUji2KzqjMsCwt5EXzNMNxJ36r8bijO0/s1600/CBIMG003.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqXr_7ugK1I7k3jZBikOWJ2nbz1UPXfI4fS_FhXfeVBGw2Rz6D9aVvn5ePxHBmmgH1Q8DNFCEwgK4l2h2nYjynk-xgQ4Hg_Yqh2vwKWkTafDIUji2KzqjMsCwt5EXzNMNxJ36r8bijO0/s1600/CBIMG003.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/3416089193730434681/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_27.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3416089193730434681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3416089193730434681'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_27.html' title='グラフに表示するデータを指定する: XValues, Values'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqXr_7ugK1I7k3jZBikOWJ2nbz1UPXfI4fS_FhXfeVBGw2Rz6D9aVvn5ePxHBmmgH1Q8DNFCEwgK4l2h2nYjynk-xgQ4Hg_Yqh2vwKWkTafDIUji2KzqjMsCwt5EXzNMNxJ36r8bijO0/s72-c/CBIMG003.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-2042672350900799023</id><published>2014-09-14T17:41:00.000+09:00</published><updated>2014-09-27T21:48:10.952+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="グラフ"/><title type='text'>図を選択する: ChartObjects.Select</title><content type='html'>アクティブなシートの図を選択するには、ChartObjects.Selectプロパティを指定します。ここで、図は&quot;fig01&quot;という名前ということにします。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; ActiveSheet.ChartObjects(&quot;fig01&quot;).Select&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
ワークシート名、グラフ名をそれぞれ別の変数に格納しておくと、大きいプログラムを作るときの自由度、視認性が格段にあがります。ただ上のような1行のプログラムを書くのと比べるとちょっと長くなってしまいますが。。。 &lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim ws As Worksheet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;ワークシート型変数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim fig As ChartObject &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&#39;ChartObject型変数の定義&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Set ws = Worksheets(&quot;sheet1&quot;) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp;&#39;ワークシート名を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Set fig = ws.ChartObjects(&quot;fig01&quot;) &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;グラフを指定&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; fig.Select &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;グラフを選択&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/2042672350900799023/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_99.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2042672350900799023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/2042672350900799023'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_99.html' title='図を選択する: ChartObjects.Select'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-4044439820699871185</id><published>2014-09-14T12:53:00.004+09:00</published><updated>2014-09-20T22:31:39.635+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="応用"/><category scheme="http://www.blogger.com/atom/ns#" term="連携"/><title type='text'>他のプログラムを動かす： SendKeys</title><content type='html'>文章を書くのはWordが得意だったり、計算をするのはExcelだったりと、ソフトによって得意な分野が異なることから、用途に応じてソフトを使い分けていると思います。そこで、VBAで他のソフトを動かせるようになるとますます世界が広がります。 &quot;SendKeys&quot;はこの中でも一番ベーシックな関数で、キーストロークを他のプログラムに渡すものです。応用すると、プリントする際に、両面指定や白黒⇔カラー印刷の変更なども、このSendKeysを使って行うことができます。&lt;br /&gt;
&lt;br /&gt;
まず最初の例として、メモ帳を立ち上げて、そこに文字を記録するプログラムです。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;新しくwindowを立ち上げる場合&lt;/span&gt;&lt;br /&gt;
Sub test()&lt;br /&gt;
&amp;nbsp; Shell &quot;Notepad.exe&quot;, 1&lt;br /&gt;
&amp;nbsp; SendKeys &quot;この文字列が記録されます&quot;&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
次は、既に立ち上がっているメモ帳に、文字を記入する場合です。この場合は、&quot;AppActivate&quot;関数を使って、そのwindowをアクティブにします。AppActivateには、該当のプログラムのタイトルバーに表示されている文字列を渡します。&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;既に起動しているメモ帳に記録する場合&lt;/span&gt;&lt;br /&gt;
Sub test2()&lt;br /&gt;
&amp;nbsp; AppActivate &quot;notepad&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;タイトルバーの文字列を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; SendKeys &quot;この文字列が記録されます&quot;&lt;br /&gt;
&amp;nbsp; SendKeys &quot;{Enter}&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;Enterキーを押すのに相当&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Ctrl、Shift、Altなどを押す場合はそれぞれ &quot;^&quot;、&quot;+&quot;、&quot;%&quot;で指定します。&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;既に起動しているメモ帳に記録する場合&lt;/span&gt;&lt;br /&gt;
Sub test3()&lt;br /&gt;
&amp;nbsp; AppActivate &quot;notepad&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39;タイトルバーの文字列を指定&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; SendKeys &quot;この文字列が記録されます&quot;&lt;br /&gt;
&amp;nbsp; SendKeys &quot;{Enter}&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; SendKeys &quot;^s&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&#39; Ctrl + s（保存）&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39; &amp;nbsp;SendKeys &quot;+(ab)&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39; Shiftを押しながらa, bと押す&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; SendKeys &quot;%{F4}&quot; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39; Alt + F4(閉じるコマンド)&lt;/span&gt;&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/4044439820699871185/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/sendkeys.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/4044439820699871185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/4044439820699871185'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/sendkeys.html' title='他のプログラムを動かす： SendKeys'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-3635068282080346564</id><published>2014-09-14T12:39:00.000+09:00</published><updated>2014-09-21T21:23:10.971+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="アルゴリズム"/><category scheme="http://www.blogger.com/atom/ns#" term="エンジニアリング"/><category scheme="http://www.blogger.com/atom/ns#" term="微分方程式"/><title type='text'>微分方程式 - ルンゲ・クッタ法</title><content type='html'>&lt;table align=&quot;right&quot; cellpadding=&quot;10&quot; style=&quot;border: #FFFFFF 1px solid&amp;gt; &amp;lt;tr&amp;gt; &amp;lt;th&amp;gt;&amp;lt;font size=;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B3XxaMFYILcIWFpjMlRINkFCYk0/edit?usp=sharing&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM4cXbnAlGHcSlc6pfQeFE8Sls2idJxjMvwavVvkbhHnsexVV2ZC6YSOq3UCkO2JPUMQa6DuYzQFbT40slI-R3Q9fbS_UNo2gAsIES-bfu8S8DxyhQU4Epv8dlYXUh61IYhFClezFslNE/s1600/Excels.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tr-caption&quot; style=&quot;font-size: 13px; text-align: center;&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B3XxaMFYILcIWFpjMlRINkFCYk0/edit?usp=sharing&quot;&gt;ダウンロード&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
微分方程式に通常用いるのは、このルンゲ･クッタ法になります。なんといっても精度が高いです。ですが、「なぜこんな式になっているの？」に答えるには結構一生懸命面倒な式を解かないといけません。&lt;br /&gt;
私はアルゴリズムの専門家ではないので、この「なぜ？」の部分はあまり深く立ち入らず、ユーザーとして使うようにしていますが、いずれ解いてみたいと思っています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;Option Explicit&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;Public Const m = 100&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Sub Runge_Kutta()&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;変数の定義 -------------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim i%, j%, n%&lt;br /&gt;
&amp;nbsp; Dim h#&lt;br /&gt;
&amp;nbsp; Dim t(m) As Double, f(m) As Double&lt;br /&gt;
&amp;nbsp; Dim k1#, k2#, k3#, k4#&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;初期値の設定 &amp;nbsp;----------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; n = Cells(2, 3) &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39;データの数&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; h = Cells(3, 3) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;刻み&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; t(0) = Cells(5, 3) &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;xの初期値&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; f(0) = Cells(6, 3) &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;fの初期値&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &#39;xとfの計算 &amp;nbsp;------------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; For i = 0 To n - 1 &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;VBAの配列は0から始まる！&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; t(i + 1) = t(i) + h&lt;br /&gt;
&amp;nbsp; &amp;nbsp; k1 = h * dfdt(t(i), f(i))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; k2 = h * dfdt(t(i) + h / 2, f(i) + k1 / 2)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; k3 = h * dfdt(t(i) + h / 2, f(i) + k2 / 2)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; k4 = h * dfdt(t(i) + h, f(i) + k3)&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; f(i + 1) = f(i) + 1 / 6 * (k1 + 2 * k2 + 2 * k3 + k4)&lt;br /&gt;
&amp;nbsp; Next i&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;シート出力 &amp;nbsp;------------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; For i = 0 To n - 1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Cells(i + 12, 2) = t(i)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Cells(i + 12, 3) = f(i)&lt;br /&gt;
&amp;nbsp; Next i&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Function dfdt(t#, f#) As Double&lt;br /&gt;
&amp;nbsp; dfdt = f - 2 * Exp(-t)&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
Sub Initialize()&lt;br /&gt;
&amp;nbsp; Range(&quot;B12:C100&quot;) = &quot;&quot;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/3635068282080346564/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_68.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3635068282080346564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/3635068282080346564'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_68.html' title='微分方程式 - ルンゲ・クッタ法'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM4cXbnAlGHcSlc6pfQeFE8Sls2idJxjMvwavVvkbhHnsexVV2ZC6YSOq3UCkO2JPUMQa6DuYzQFbT40slI-R3Q9fbS_UNo2gAsIES-bfu8S8DxyhQU4Epv8dlYXUh61IYhFClezFslNE/s72-c/Excels.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-5841389595329164843</id><published>2014-09-14T12:33:00.003+09:00</published><updated>2014-09-27T21:50:19.852+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="連携"/><category scheme="http://www.blogger.com/atom/ns#" term="関数"/><title type='text'>関数の呼び出し: Call</title><content type='html'>プログラムが大きくなると、一つのプロシージャの中に全てを書いていくと、後で振り返って直したり、プログラムを追加したり、ということが不可能なほど奇奇怪怪、冗長なプログラムになってしまう危険性があります。そこで機能毎にプログラムを小分けすることで、振り返りやすくなります。

ここでは、関数を呼ぶ方法を紹介します。&quot;Call xxx&quot;と記述することで、関数xxxを呼び出すことができます。&quot;Call&quot;をつけるとわかりやすいですが、つけなくても動きます。下の例ではcells(2,2)、B2セルに2を代入する関数を作り、それをmainから呼び出しています。&lt;br /&gt;
&lt;div&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39; 関数を呼び出す&lt;/span&gt;&lt;br /&gt;
Sub main()&lt;br /&gt;
&amp;nbsp; Call subfunction &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;関数を呼ぶ&lt;/span&gt;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Function subfunction() &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;関数の定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Cells(2, 2) = 2&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;End Function&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
引数をつけて関数を呼び出すこともできます。関数を定義する最初の functionの名前の後の括弧内に、呼び出す引数を定義します。ここではdouble型の引数を一つ定義していて、cells(2,2)、B2セルにその数値を書き込むようになっています。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39; 引数を与えて関数を呼び出す&lt;/span&gt;&lt;br /&gt;
Sub main2()&lt;br /&gt;
&amp;nbsp; Dim a# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;変数(double型)を定義&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; a = 1.5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;変数の値を入力&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Call subfunction2(a) &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&#39;関数を呼び出し&lt;/span&gt;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function subfunction2(x#)&lt;br /&gt;
&amp;nbsp; Cells(2, 2) = x&lt;br /&gt;
End Function&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/5841389595329164843/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_80.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/5841389595329164843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/5841389595329164843'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_80.html' title='関数の呼び出し: Call'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-4057481405623970340</id><published>2014-09-14T12:26:00.002+09:00</published><updated>2014-09-27T21:50:39.177+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="基本文型"/><title type='text'>ループを抜ける: Exit</title><content type='html'>Exitは、自分のタイミングでループ（繰り返し）を抜けるときに記述します。&lt;br /&gt;
複数のforなどで囲まれている場合は、一番内側のループを抜けることになります。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim i%, j%&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; For i = 1 To 10&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Cells(i + 10, 2) = i&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; If i = 5 Then &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;iが5だったらループを抜ける&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Exit For&lt;br /&gt;
&amp;nbsp; &amp;nbsp; End If&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Next i&lt;br /&gt;
End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/4057481405623970340/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/exit.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/4057481405623970340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/4057481405623970340'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/exit.html' title='ループを抜ける: Exit'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-1546719079788333576</id><published>2014-09-14T12:23:00.001+09:00</published><updated>2014-09-14T18:09:22.869+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="基本文型"/><category scheme="http://www.blogger.com/atom/ns#" term="連携"/><title type='text'>子プロシージャの呼び出し</title><content type='html'>プログラムが大きくなると、一つのプロシージャの中に全てを書いていくと、後で振り返って直したり、プログラムを追加したり、ということが不可能なほど奇奇怪怪、煩雑なプログラムになってしまう危険性があります。そこで機能毎にプログラムを小分けすることで、振り返りやすくなります。&lt;br /&gt;
&lt;br /&gt;
ここでは、プロシージャを呼ぶ方法を紹介します。&quot;Call xxx&quot;と記述することで、プロシージャxxxを呼び出すことができます。子プロシージャは同じモジュールに記述する必要は無いので、モジュール自身も上手にカテゴライズすると良いです。&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&#39; 親プロシージャ&lt;/span&gt;&lt;br /&gt;
Sub test()&lt;br /&gt;
&amp;nbsp; Call subtest &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&#39;別プロシージャの呼び出し&lt;/span&gt;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&#39;子プロシージャ（親から呼び出される側）&lt;/span&gt;&lt;br /&gt;
Sub subtest()&lt;br /&gt;
&amp;nbsp; Cells(2, 2) = 1&lt;br /&gt;
End Sub&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/1546719079788333576/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_14.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/1546719079788333576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/1546719079788333576'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_14.html' title='子プロシージャの呼び出し'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-8713421749488020929</id><published>2014-09-13T03:38:00.000+09:00</published><updated>2014-09-20T18:37:44.588+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="基本文型"/><category scheme="http://www.blogger.com/atom/ns#" term="変数宣言"/><title type='text'>変数の型</title><content type='html'>データの型の宣言。&lt;br /&gt;
私が良く使う変数は以下4つの変数です。他にも沢山変数があり、どれを使うかはしっかり考えるべきかもしれませんが、この4つは省略記号がついており、1行を短くするにはもってこいです。いろいろなホームページを見ると省略形を使わないように推奨しているところもありますが、実用上困っていないので、短い記述が好きな私は好んで%や#を使います。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; cellpadding=&quot;7&quot; frame=&quot;hsides&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;No.&lt;/th&gt; &lt;th&gt;型名&lt;/th&gt;           &lt;th&gt;型&lt;/th&gt;       &lt;th&gt;省略記号&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;   &lt;td&gt;&amp;nbsp; 整数型&lt;/td&gt;          &lt;td style=&quot;text-align: center;&quot;&gt;integer&lt;/td&gt; &lt;td style=&quot;text-align: center;&quot;&gt;%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;2&lt;/td&gt;   &lt;td&gt;&amp;nbsp; 長整数型&lt;/td&gt;        &lt;td style=&quot;text-align: center;&quot;&gt;long&lt;/td&gt;     &lt;td style=&quot;text-align: center;&quot;&gt;&amp;amp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;3&lt;/td&gt;   &lt;td&gt;&amp;nbsp; 倍精度浮動小数点型&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;double&lt;/td&gt;   &lt;td style=&quot;text-align: center;&quot;&gt;#&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;4&lt;/td&gt;   &lt;td&gt;&amp;nbsp; 文字列型&lt;/td&gt;  &lt;td style=&quot;text-align: center;&quot;&gt;string&lt;/td&gt;   &lt;td style=&quot;text-align: center;&quot;&gt;$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この他に良く使うモノとして、Variant型があります。これは、「何でもいいよ〜」という型です。&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 510px;&quot;&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp; Dim i as integer, j as integer &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp;&#39;ちゃんとした宣言&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim k%, l% &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &#39;省略した宣言。こちらの方が短い&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; i = 3&lt;br /&gt;
&amp;nbsp; k = 4&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Cells(2,2) = i &lt;br /&gt;
&amp;nbsp; Cells(3,2) = k &lt;br /&gt;
End sub &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/8713421749488020929/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_13.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/8713421749488020929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/8713421749488020929'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_13.html' title='変数の型'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-1581062564166407449</id><published>2014-09-11T00:31:00.001+09:00</published><updated>2014-09-21T21:41:51.193+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="アルゴリズム"/><category scheme="http://www.blogger.com/atom/ns#" term="エンジニアリング"/><category scheme="http://www.blogger.com/atom/ns#" term="微分方程式"/><title type='text'>微分方程式 - オイラー法</title><content type='html'>&lt;table align=&quot;right&quot; cellpadding=&quot;10&quot; style=&quot;border: #FFFFFF 1px solid&amp;gt; &amp;lt;tr&amp;gt; &amp;lt;th&amp;gt;&amp;lt;font size=;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B3XxaMFYILcIWjRnNUJta0F6N1E/edit?usp=sharing&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM4cXbnAlGHcSlc6pfQeFE8Sls2idJxjMvwavVvkbhHnsexVV2ZC6YSOq3UCkO2JPUMQa6DuYzQFbT40slI-R3Q9fbS_UNo2gAsIES-bfu8S8DxyhQU4Epv8dlYXUh61IYhFClezFslNE/s1600/Excels.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; /&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&quot;tr-caption&quot; style=&quot;font-size: 13px; text-align: center;&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B3XxaMFYILcIWjRnNUJta0F6N1E/edit?usp=sharing&quot;&gt;ダウンロード&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
微分方程式を解くもっとも簡単な解法は、オイラー方程式です。&lt;br /&gt;
計算の精度は使い物になりませんが一番わかりやすい為、最初に見るのは良いと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;\( \frac{df}{dx}=3x^2 - 10 +5 \)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;計算で求めるため実際のfはわからなくてもよいのですが、ここでは解析的に解ける式（というか、検証の為そんな関数にした）を選びました。&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;\( f=x^3 - 5x^2 + 5x +f_0 \)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;離散的に解を求めると、&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;\( \frac{df}{dx}=\frac{f_{i+1}-f_{i}|}{h} \)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;ここで、全部分かっているi番目の値を基準にしてi+1番目が求められるように、式の順番を入れ替えます。&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;\( f_{i+1}=f_i + h*\frac{df}{dx} \)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
結果：&lt;br /&gt;
初期値付近ではほどほどの精度であるが、iが増えていくと誤差が大きくなる。&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;hは刻み幅。&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFzXhipP855LA4gMkGVqylROP31TMxZZ-JOrM6EeA4CyTuvXF88WRpqXkv4VXLEtQlaCQet0Ld0lgtBv-NpFWD0BFIvQn-WTz3Kwx8PFB9nBIIdkgmj1T5Z48I2cy7Uc7i8uvknVDT3ow/s1600/p1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFzXhipP855LA4gMkGVqylROP31TMxZZ-JOrM6EeA4CyTuvXF88WRpqXkv4VXLEtQlaCQet0Ld0lgtBv-NpFWD0BFIvQn-WTz3Kwx8PFB9nBIIdkgmj1T5Z48I2cy7Uc7i8uvknVDT3ow/s1600/p1.png&quot; height=&quot;107&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHCMwO_44H5Cawkmbv_rs-7bP1IH2pkvKh6LrIywQsnRNy8ehjPfaXsEMsbxRYVmox9Qb4Ju3LQsCmodTavfSNMi4iVXvjvqyeIHz6deZJckP_vDwdt7AU5Ei75O2j4hNZS4zcGsAoX_k/s1600/p2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHCMwO_44H5Cawkmbv_rs-7bP1IH2pkvKh6LrIywQsnRNy8ehjPfaXsEMsbxRYVmox9Qb4Ju3LQsCmodTavfSNMi4iVXvjvqyeIHz6deZJckP_vDwdt7AU5Ei75O2j4hNZS4zcGsAoX_k/s1600/p2.png&quot; height=&quot;320&quot; width=&quot;155&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0vHwx-Yqk-ggmtJ4bXZDROooXSca-GRcp71EkPPt8FeAPohRos-xo-U8UcNlMR6oBOz3bfqlmMPhtEeGTGPbmXcXvqviw6FjpjGDHMy3jir6YhP1lhajRI2H-kqXuKRWDf80mcBnHlSg/s1600/p3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0vHwx-Yqk-ggmtJ4bXZDROooXSca-GRcp71EkPPt8FeAPohRos-xo-U8UcNlMR6oBOz3bfqlmMPhtEeGTGPbmXcXvqviw6FjpjGDHMy3jir6YhP1lhajRI2H-kqXuKRWDf80mcBnHlSg/s1600/p3.png&quot; height=&quot;269&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 510px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Option Explicit&lt;br /&gt;
&lt;br /&gt;
Public Const m = 100&lt;br /&gt;
&lt;br /&gt;
Sub Euler()&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;変数の定義 -------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; Dim i%, j%, k%, n%&lt;br /&gt;
&amp;nbsp; Dim h#, x_ave#&lt;br /&gt;
&amp;nbsp; Dim f(m) As Double, t(m) As Double&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;初期値の設定 &amp;nbsp;----------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; n = Cells(2, 3) &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp; &amp;nbsp; &#39;データの数&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; h = Cells(3, 3) &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;刻み&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; t(0) = Cells(5, 3) &lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp;&#39;xの初期値&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; f(0) = Cells(6, 3) &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp;&#39;fの初期値&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;xとfの計算 &amp;nbsp;------------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; For i = 0 To n - 1 &amp;nbsp;&lt;span style=&quot;color: #38761d;&quot;&gt; &amp;nbsp;&#39;VBAの配列は0から始まる！&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; t(i + 1) = t(i) + h&lt;br /&gt;
&amp;nbsp; &amp;nbsp; f(i + 1) = f(i) + h * dfdt(t(i), f(i))&lt;br /&gt;
&amp;nbsp; Next i&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &#39;シート出力 &amp;nbsp;------------------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; For i = 0 To n - 1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Cells(i + 12, 2) = t(i)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Cells(i + 12, 3) = f(i)&lt;br /&gt;
&amp;nbsp; Next i&lt;br /&gt;
&lt;span style=&quot;background-color: transparent;&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Function dfdt(t#, f#) As Double&lt;br /&gt;
&amp;nbsp; dfdt = f - 2 * Exp(-t)&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
Sub Initialize()&lt;br /&gt;
&amp;nbsp; Range(&quot;B12:C100&quot;) = &quot;&quot;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/1581062564166407449/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_11.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/1581062564166407449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/1581062564166407449'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_11.html' title='微分方程式 - オイラー法'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM4cXbnAlGHcSlc6pfQeFE8Sls2idJxjMvwavVvkbhHnsexVV2ZC6YSOq3UCkO2JPUMQa6DuYzQFbT40slI-R3Q9fbS_UNo2gAsIES-bfu8S8DxyhQU4Epv8dlYXUh61IYhFClezFslNE/s72-c/Excels.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6742314861373937201.post-128345428494346618</id><published>2014-09-07T23:39:00.003+09:00</published><updated>2014-09-27T21:58:16.429+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="基本文型"/><category scheme="http://www.blogger.com/atom/ns#" term="高速化"/><title type='text'>プログラム実行の高速化: Application.ScreenUpdating</title><content type='html'>計算回数の多いプログラムを作ると、だんだんと実行速度が遅くなっていきます。&lt;br /&gt;
VBAはインタプリタで1行1行順次実行するという性質上これは避けられません。&lt;br /&gt;
その為少しでも高速化するために、記述を工夫する必要があります。&lt;br /&gt;
少し慣れたVBAのプログラマが必ずやるのは、画面の更新を一旦停止することです。&lt;br /&gt;
プログラムの最初に、 &lt;br /&gt;
&amp;nbsp; Application.ScreenUpdating = False&lt;br /&gt;
という記述を行い、実行中画面の更新を停止します。このたった一行の追加で&lt;br /&gt;
プログラムは何倍も高速化しますから、書くのを癖にしてしまいましょう。 &lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;left&quot; bgcolor=&quot;#e2e8f2&quot; bordercolor=&quot;#5fa9f4&quot; cellpadding=&quot;10&quot; style=&quot;width: 500px;&quot;&gt;
 
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sub test()&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Application.ScreenUpdating = False&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;画面更新停止&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp; For i = 1 To 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&#39; 1から10まで繰り返す&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Cells(i, 2) = i &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39; i行2列に、iを入力する&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;Next i&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Application.ScreenUpdating = True&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;画面更新再開&lt;br /&gt;
End Sub &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://enjoyvba.blogspot.com/feeds/128345428494346618/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_69.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/128345428494346618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6742314861373937201/posts/default/128345428494346618'/><link rel='alternate' type='text/html' href='http://enjoyvba.blogspot.com/2014/09/blog-post_69.html' title='プログラム実行の高速化: Application.ScreenUpdating'/><author><name>rintaro</name><uri>http://www.blogger.com/profile/13363318864016014033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>