<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
  <channel>
    <title>Excel VBA 初心者入門講座</title>
    <link>http://exvba.officehp.com/</link>
    <description>Excel VBA プログラミングについて、基礎から応用までを詳しく解説します。あなたの仕事をもっと便利に効率よくするために。</description>
    <language>ja</language>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <itunes:subtitle></itunes:subtitle>
    <itunes:summary>Excel VBA プログラミングについて、基礎から応用までを詳しく解説します。あなたの仕事をもっと便利に効率よくするために。</itunes:summary>
    <itunes:keywords>Excel,VBA,初心者,入門,vbe,プログラミング</itunes:keywords>
    
    <itunes:author>Excel VBA</itunes:author>
    <itunes:owner>    
       <itunes:name></itunes:name>
       <itunes:email></itunes:email>
    </itunes:owner>
        <itunes:explicit>no</itunes:explicit>
        <item>
      <link>http://exvba.officehp.com/article/445174732.html</link>
      <title>Excel VBAはマクロの記録を使うと便利で簡単になる。</title>
      <pubDate>Fri, 23 Dec 2016 12:58:59 +0900</pubDate>
            <description>ExcelのVBAプログラミングを学ぶ時に便利なのが、マクロを記録する機能です。Microsoft社の表計算エクセルでは「マクロの記録」を行なうと、ユーザーが操作したものを自動的にVBAのコードに変換してくれます。プログラミング初心者が、VBAのプログラムを一から書くのは、「何から手を付けてよいのか？」と迷いますよね。そんな時にも便利な機能なのです。マクロの記録で自動的に生成されたプログラムを修正するのは、それほど難しくないはずです。ユーザーが自分で操作したことですから、プロ..</description>
            <itunes:summary><![CDATA[
ExcelのVBAプログラミングを学ぶ時に便利なのが、マクロを記録する機能です。

Microsoft社の表計算エクセルでは「マクロの記録」を行なうと、
ユーザーが操作したものを自動的にVBAのコードに変換してくれます。

プログラミング初心者が、VBAのプログラムを一から書くのは、
「何から手を付けてよいのか？」と迷いますよね。

そんな時にも便利な機能なのです。

マクロの記録で自動的に生成されたプログラムを修正するのは、
それほど難しくないはずです。

ユーザーが自分で操作したことですから、プログラムの意味も何となく分かると思います。

では実際に試してみましょう。

【1】「開発」(リボン)の「マクロの記録」をクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-01.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-01-thumbnail2.jpg" width="150" height="78"></a>

＊Excel2007以降ではリボン、それ以前のバージョンはメニューに開発があります。


【2】マクロ名に例えば「test」と入力し、「OK」をクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-02.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-02-thumbnail2.jpg" width="150" height="149"></a>

ここから先の操作が記録開始されます。


【3】試しに、A1セルに「test」と入力し、文字色を赤にしてみましょう。

<a href="http://exvba.up.seesaa.net/image/excel-vba-03.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-03-thumbnail2.jpg" width="150" height="88"></a>

文字の修飾は、「ホーム」(リボン)で出来ます。


【4】「開発」の「記録終了」をクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-04.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-04-thumbnail2.jpg" width="150" height="44"></a>

これでここまで行った操作が、マクロのプログラムとして記録されました。


それでは自動的に作成されたプログラムを確認してみましょう。

【5】「開発」の「マクロ」をクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-05.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-05-thumbnail2.jpg" width="150" height="95"></a>

＊「Altキー」＋「F8キー」でも可能。


【6】マクロのダイアログボックスが表示されるので、今作成したマクロを選択し、「編集」ボタンをクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-06.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-06-thumbnail2.jpg" width="150" height="116"></a>

もし、複数のマクロがある時は、ダイアログボックスに一覧表示されます。


【7】VBE(統合開発環境)が開き、VBAの標準モジュールに、「test Macro」が作成されています。

<a href="http://exvba.up.seesaa.net/image/excel-vba-07.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-07-thumbnail2.jpg" width="150" height="95"></a>

これがExcelが自動的に作成したプログラムです。

・アクティブなセルに「test」と入力
・A1セルを選択
・文字色を設定

となっています。

もちろん、記録したユーザーの行動が変われば、プログラムも変化します。

ここからが面白いのですが、
このプログラムを実行すれば、上記の記録した行動が再現されます。

早速、試してみましょう。

まず、A1セルをクリア(何もない状態に)してから、
そのままA1セルを選択した状態にしておきます。

続いて「test Macro」を実行します。

ここでマクロを実行するには、VBE(統合開発環境)の画面に戻り、
＊「Altキー」＋「F11キー」で直接表示も可能

【8】実行したいマクロのどこかでクリックし、「実行」ボタンをクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-08.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-08-thumbnail2.jpg" width="150" height="76"></a>


【9】A1セルに自動的に文字が入力され、文字色も設定されました。

<a href="http://exvba.up.seesaa.net/image/excel-vba-09.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-09-thumbnail2.jpg" width="150" height="84"></a>


慣れてきたら、プログラムをいじってみてください。

文字色を変えてみたりだとか。

マクロを記録することで、プログラムが自動的に作成される仕組みは分かりましたか？

こうして作成されたプログラムを参考に、プログラミングすれば、
初心者でもExcel VBAが簡単にできます。

あとは分からなかったところだけ、意味を調べればいいと思います。

ps:
実は中級者や上級者にとっても便利な方法です。

Excel VBAで複雑な動きをさせたい時は、どうしてもプログラムが長くなります。

そんな時は、自動生成されたプログラムが凄く参考になるからです。

必要な部分だけ書き換えたり、足りない部分を加えたり。

また、冗長化されている無駄な部分を削除するだけで済みますから。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>プログラミングを学ぶ時に便利なのが、マクロを記録する機能です。<br /><br />Microsoft社の表計算エクセルでは「マクロの記録」を行なうと、<br />ユーザーが操作したものを自動的にVBAのコードに変換してくれます。<br /><br />プログラミング初心者が、VBAのプログラムを一から書くのは、<br />「何から手を付けてよいのか？」と迷いますよね。<br /><br />そんな時にも便利な機能なのです。<br /><br />マクロの記録で自動的に生成されたプログラムを修正するのは、<br />それほど難しくないはずです。<br /><br />ユーザーが自分で操作したことですから、プログラムの意味も何となく分かると思います。<br /><br />では実際に試してみましょう。<br /><br />【1】「開発」(リボン)の「マクロの記録」をクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-01.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-01-thumbnail2.jpg" width="150" height="78"></a><br /><br />＊Excel2007以降ではリボン、それ以前のバージョンはメニューに開発があります。<br /><br /><br />【2】マクロ名に例えば「test」と入力し、「OK」をクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-02.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-02-thumbnail2.jpg" width="150" height="149"></a><br /><br />ここから先の操作が記録開始されます。<br /><br /><br />【3】試しに、A1セルに「test」と入力し、文字色を赤にしてみましょう。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-03.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-03-thumbnail2.jpg" width="150" height="88"></a><br /><br />文字の修飾は、「ホーム」(リボン)で出来ます。<br /><br /><br />【4】「開発」の「記録終了」をクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-04.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-04-thumbnail2.jpg" width="150" height="44"></a><br /><br />これでここまで行った操作が、マクロのプログラムとして記録されました。<br /><br /><br />それでは自動的に作成されたプログラムを確認してみましょう。<br /><br />【5】「開発」の「マクロ」をクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-05.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-05-thumbnail2.jpg" width="150" height="95"></a><br /><br />＊「Altキー」＋「F8キー」でも可能。<br /><br /><br />【6】マクロのダイアログボックスが表示されるので、今作成したマクロを選択し、「編集」ボタンをクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-06.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-06-thumbnail2.jpg" width="150" height="116"></a><br /><br />もし、複数のマクロがある時は、ダイアログボックスに一覧表示されます。<br /><br /><br />【7】VBE(統合開発環境)が開き、VBAの標準モジュールに、「test Macro」が作成されています。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-07.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-07-thumbnail2.jpg" width="150" height="95"></a><br /><br />これがExcelが自動的に作成したプログラムです。<br /><br />・アクティブなセルに「test」と入力<br />・A1セルを選択<br />・文字色を設定<br /><br />となっています。<br /><br />もちろん、記録したユーザーの行動が変われば、プログラムも変化します。<br /><br />ここからが面白いのですが、<br />このプログラムを実行すれば、上記の記録した行動が再現されます。<br /><br />早速、試してみましょう。<br /><br />まず、A1セルをクリア(何もない状態に)してから、<br />そのままA1セルを選択した状態にしておきます。<br /><br />続いて「test Macro」を実行します。<br /><br />ここでマクロを実行するには、VBE(統合開発環境)の画面に戻り、<br />＊「Altキー」＋「F11キー」で直接表示も可能<br /><br />【8】実行したいマクロのどこかでクリックし、「実行」ボタンをクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-08.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-08-thumbnail2.jpg" width="150" height="76"></a><br /><br /><br />【9】A1セルに自動的に文字が入力され、文字色も設定されました。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-09.jpg" target="_blank"><img border="0" alt="Excel VBA" src="http://exvba.up.seesaa.net/image/excel-vba-09-thumbnail2.jpg" width="150" height="84"></a><br /><br /><br />慣れてきたら、プログラムをいじってみてください。<br /><br />文字色を変えてみたりだとか。<br /><br />マクロを記録することで、プログラムが自動的に作成される仕組みは分かりましたか？<br /><br />こうして作成されたプログラムを参考に、プログラミングすれば、<br />初心者でもExcel VBAが簡単にできます。<br /><br />あとは分からなかったところだけ、意味を調べればいいと思います。<br /><br />ps:<br />実は中級者や上級者にとっても便利な方法です。<br /><br />Excel VBAで複雑な動きをさせたい時は、どうしてもプログラムが長くなります。<br /><br />そんな時は、自動生成されたプログラムが凄く参考になるからです。<br /><br />必要な部分だけ書き換えたり、足りない部分を加えたり。<br /><br />また、冗長化されている無駄な部分を削除するだけで済みますから。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Excel VBAとマクロの記録</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/445174732</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-01.jpg" length="30373" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-01.jpg" length="30373" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-02.jpg" length="19244" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-02.jpg" length="19244" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-03.jpg" length="6149" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-03.jpg" length="6149" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-04.jpg" length="21538" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-04.jpg" length="21538" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-05.jpg" length="14396" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-05.jpg" length="14396" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-06.jpg" length="23970" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-06.jpg" length="23970" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-07.jpg" length="44278" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-07.jpg" length="44278" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-08.jpg" length="44448" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-08.jpg" length="44448" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-09.jpg" length="9592" type="image/jpeg" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-09.jpg" length="9592" type="image/jpeg" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/431614112.html</link>
      <title>Excel VBAでIEの操作が可能です。</title>
      <pubDate>Thu, 24 Dec 2015 12:23:10 +0900</pubDate>
            <description>Excel(エクセル)のVBAでは、IE(インターネットエクスプローラー)を操作することができます。これがとても便利なんです。アイデア次第では、いろいろ使える可能性を秘めています。プログラミング言語のVBAでウェブブラウザを操作できるということは、インターネット上のデータを自由自在に取得できるということです。例えば、Webブラウザを立ち上げて、ログインしたり、情報を検索、データを取得、Excelのセルに保存するような一連の作業を自動化できます。普段、何気なく使っているウェブブ..</description>
            <itunes:summary><![CDATA[
Excel(エクセル)のVBAでは、IE(インターネットエクスプローラー)を操作することができます。

これがとても便利なんです。

アイデア次第では、いろいろ使える可能性を秘めています。

プログラミング言語のVBAでウェブブラウザを操作できるということは、

インターネット上のデータを自由自在に取得できるということです。

例えば、Webブラウザを立ち上げて、ログインしたり、
情報を検索、データを取得、Excelのセルに保存するような一連の作業を自動化できます。

普段、何気なく使っているウェブブラウザですが、
毎日、繰り返し同じ手順を行っていることが多々ありますよね。

日々の作業量は小さくても、何度も同じことをするのが分かっている場合は、

処理を自動化することで、長い目で見れば、かなりの時間短縮になります。

このような機能は、株価や為替のレートを日々、収集、集計、分析したいなどの場合に使えます。

他にも気象情報を集めたり、ネットショップやオークションなどの商品情報を集めたりとか。

世界中のニュースを収集したり、芸能情報をチェックしたりなど・・・

アイデア次第で、使い方は無限です！

また、複雑な構造のWebサイトは別ですが、

シンプルにHTMLやJavaScriptなどだけで構成されている場合は、

画面上のボタンを押したりとかの操作も可能です。

すると株式の売買が自動化できる場合もあります。

特にHTMLの形になっているデータは、問題なく解析して取得できるので、

一度プログラムを書いてしまえば、日々の作業が楽ちんです。

Excelを開き、ボタンをクリックするだけで、

あとはプログラムに従って、ウェブブラウザを操作してくれます。

今回は「こういう事ができる」という情報だけでしたが、

別の機会に実際のVBAプログラミングについても紹介したいと思います。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>(エクセル)の<strong>VBA</strong>では、IE(インターネットエクスプローラー)を操作することができます。<br /><br />これがとても便利なんです。<br /><br />アイデア次第では、いろいろ使える可能性を秘めています。<br /><br />プログラミング言語のVBAでウェブブラウザを操作できるということは、<br /><br />インターネット上のデータを自由自在に取得できるということです。<br /><br />例えば、Webブラウザを立ち上げて、ログインしたり、<br />情報を検索、データを取得、Excelのセルに保存するような一連の作業を自動化できます。<br /><br />普段、何気なく使っているウェブブラウザですが、<br />毎日、繰り返し同じ手順を行っていることが多々ありますよね。<br /><br />日々の作業量は小さくても、何度も同じことをするのが分かっている場合は、<br /><br />処理を自動化することで、長い目で見れば、かなりの時間短縮になります。<br /><br />このような機能は、株価や為替のレートを日々、収集、集計、分析したいなどの場合に使えます。<br /><br />他にも気象情報を集めたり、ネットショップやオークションなどの商品情報を集めたりとか。<br /><br />世界中のニュースを収集したり、芸能情報をチェックしたりなど・・・<br /><br />アイデア次第で、使い方は無限です！<br /><br />また、複雑な構造のWebサイトは別ですが、<br /><br />シンプルにHTMLやJavaScriptなどだけで構成されている場合は、<br /><br />画面上のボタンを押したりとかの操作も可能です。<br /><br />すると株式の売買が自動化できる場合もあります。<br /><br />特にHTMLの形になっているデータは、問題なく解析して取得できるので、<br /><br />一度プログラムを書いてしまえば、日々の作業が楽ちんです。<br /><br />Excelを開き、ボタンをクリックするだけで、<br /><br />あとはプログラムに従って、ウェブブラウザを操作してくれます。<br /><br />今回は「こういう事ができる」という情報だけでしたが、<br /><br />別の機会に実際のVBAプログラミングについても紹介したいと思います。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Excel VBAでIEを操作できる</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/431614112</guid>
                </item>
        <item>
      <link>http://exvba.officehp.com/article/410767686.html</link>
      <title>Excel VBAの新たな可能性を見ました。</title>
      <pubDate>Tue, 16 Dec 2014 23:03:50 +0900</pubDate>
            <description>ExcelのVBAを使った興味深い活用例を見たので、紹介します。かなり面白い使い方でしたよ。ある研究所の実験の様子を、某テレビ番組で放送していました。多分、超伝導を使った電線の実用実験だったと思います。その様子を見ていて、「これは凄い！」と思った瞬間がありました。実験の測定データを、なんとExcelで表示していました。数値やグラフが、リアルタイムで、どんどん変化していきます。これほどExcelを活用、使いこなしているとは、天晴です！見事に作りこんでいるなーという印象でした。専..</description>
            <itunes:summary><![CDATA[
ExcelのVBAを使った興味深い活用例を見たので、紹介します。

かなり面白い使い方でしたよ。

ある研究所の実験の様子を、某テレビ番組で放送していました。

多分、超伝導を使った電線の実用実験だったと思います。

その様子を見ていて、「これは凄い！」と思った瞬間がありました。

実験の測定データを、なんとExcelで表示していました。

数値やグラフが、リアルタイムで、どんどん変化していきます。

これほどExcelを活用、使いこなしているとは、天晴です！

見事に作りこんでいるなーという印象でした。

専門的な研究所では、普通は専用の機械とプログラムを使っていそうですよね？

そこをExcelでやっているのが新鮮でした。

普通はExcelと言うと、会社の事務仕事に使っているイメージがありますが、

科学の最先端の実験で使われているなんて。

Excelの新たな可能性を感じて、嬉しくなりました。

画面が映っていたのは一瞬だったので、

どうやって作っているのか、詳細はわかりませんが、

実験機器と接続しているのですから、VBAだけでなく、

C言語やC#のような、他のプログラミング言語と組み合わせているのかも。

よく考えると、研究所のような、何が起こるか分からない分野でこそ、

Excelのように臨機応変に改良できるようなシステムが活きるんでしょうね。

自分たちでプログラミングして、試行錯誤できれば、

改良も自由自在ですから。

アイデア次第で、Excelの活用範囲が大きく広がりそうなことを実感しました。

例えばExcelをインターネットにつなげれば、

世界中のいろんなデータが取得できるので、

リアルタイムで表示したり、集計したり、グラフ化することが可能ですよね。

あとはどう活かすかですがｗ
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>を使った興味深い活用例を見たので、紹介します。<br /><br />かなり面白い使い方でしたよ。<br /><br />ある研究所の実験の様子を、某テレビ番組で放送していました。<br /><br />多分、超伝導を使った電線の実用実験だったと思います。<br /><br />その様子を見ていて、「これは凄い！」と思った瞬間がありました。<br /><br />実験の測定データを、なんとExcelで表示していました。<br /><br />数値やグラフが、リアルタイムで、どんどん変化していきます。<br /><br />これほどExcelを活用、使いこなしているとは、天晴です！<br /><br />見事に作りこんでいるなーという印象でした。<br /><br />専門的な研究所では、普通は専用の機械とプログラムを使っていそうですよね？<br /><br />そこをExcelでやっているのが新鮮でした。<br /><br />普通はExcelと言うと、会社の事務仕事に使っているイメージがありますが、<br /><br />科学の最先端の実験で使われているなんて。<br /><br />Excelの新たな可能性を感じて、嬉しくなりました。<br /><br />画面が映っていたのは一瞬だったので、<br /><br />どうやって作っているのか、詳細はわかりませんが、<br /><br />実験機器と接続しているのですから、VBAだけでなく、<br /><br />C言語やC#のような、他のプログラミング言語と組み合わせているのかも。<br /><br />よく考えると、研究所のような、何が起こるか分からない分野でこそ、<br /><br />Excelのように臨機応変に改良できるようなシステムが活きるんでしょうね。<br /><br />自分たちでプログラミングして、試行錯誤できれば、<br /><br />改良も自由自在ですから。<br /><br />アイデア次第で、Excelの活用範囲が大きく広がりそうなことを実感しました。<br /><br />例えばExcelをインターネットにつなげれば、<br /><br />世界中のいろんなデータが取得できるので、<br /><br />リアルタイムで表示したり、集計したり、グラフ化することが可能ですよね。<br /><br />あとはどう活かすかですがｗ<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Excel VBAの可能性</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/410767686</guid>
                </item>
        <item>
      <link>http://exvba.officehp.com/article/135843394.html</link>
      <title>これからのExcel活用の重要なキーワードは、「インターネット」と「通信」です。</title>
      <pubDate>Thu, 17 Dec 2009 07:41:39 +0900</pubDate>
            <description>Excelの最大のメリットは、その手軽さです。データを簡単に保存することができるし、データの計算、集計、加工も容易です。それにExcelは、最も普及しているソフトウェアなので、ほとんどの Windowsパソコンにインストールされています。Excelでは、VBEという統合開発環境がすぐに利用できるので、プログラミングのための準備は不要です。VBA言語を使って、初心者でも今すぐにプログラミングが始められます。したがってExcelは、私達に最も身近な「開発ツール」であるとも言えます..</description>
            <itunes:summary><![CDATA[
Excelの最大のメリットは、その手軽さです。

データを簡単に保存することができるし、データの計算、集計、加工も容易です。

それにExcelは、最も普及しているソフトウェアなので、ほとんどの Windowsパソコンにインストールされています。

Excelでは、VBEという統合開発環境がすぐに利用できるので、プログラミングのための準備は不要です。

VBA言語を使って、初心者でも今すぐにプログラミングが始められます。

したがってExcelは、私達に最も身近な「開発ツール」であるとも言えます。

そんなExcelのメリットを活かしつつ、さらに10倍、100倍活用するために重要なキーワードがあります。

それが「インターネット」と「通信」です。

ExcelのVBAを使って、インターネット上にある膨大な情報源にアクセスできるようになると、活用範囲が一気に広がります。

例えば、Excelで「XML」の取得が可能です。これはとても大きな意味を持ちます。

XMLを使うと、コンピューター同士で、データのやり取りを行なうことができます。

つまりコンピューター同士が、簡単につながるわけです。＊重要

一番身近な例では、XMLの一種である「RSS」を取得すれば、ExcelでRSSリーダーを作成することができます。

RSSリーダーも、コンピューター同士がつながっているのですが、イマイチ凄さが伝わりませんよね。(本当は凄いことなのです)

それでは次の例はどうでしょうか？

今では、多くのWebサービスが、データをXMLで提供しています。

例えば、証券会社のWebサービスを利用すれば、Excelで株式やFXの売買を行なうことも可能なのです。

<a href="http://fxhp.seesaa.net/category/5510898-1.html" target="_blank">WebサービスAPIで、オリジナルのシステムトレードソフトを開発する方法。</a>

もちろん過去の株価や為替相場のデータを取り込んで、Excelで分析することも可能です。

もしあなたなりの法則を発見できれば、大きく儲けることが出来るかもしれません。

どうですか？コンピューター同士がつながることの凄さが、少しはイメージできましたか？

さらに、Excelからメールを送受信することも可能です。

<a href="http://mailpg.pgtop.net/" target="_blank">メール送信・受信プログラミング初心者入門(Excel版)</a>

メールの送受信でも、コンピューター同士がつながっています。

メールを送受信する時には、メールサーバーに接続するし、送受信先のパソコンとも、メールを通して、データをやり取りすることができます。

実はメールからデータを抽出することも可能なので、ネットショップの受注管理にも利用できます。

このようにExcelは、インターネットに接続することで、利用範囲や可能性が、ますます広がります。

Excelは、もうローカルで表計算を行なうだけのアプリケーションソフトではありません。

Excelの可能性は、無限に広がっているのです。

当講座でも、応用編として、これらのプログラミングを紹介する予定です。お楽しみに！
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の最大のメリットは、その手軽さです。<br /><br />データを簡単に保存することができるし、データの計算、集計、加工も容易です。<br /><br />それにExcelは、最も普及しているソフトウェアなので、ほとんどの Windowsパソコンにインストールされています。<br /><br />Excelでは、VBEという統合開発環境がすぐに利用できるので、プログラミングのための準備は不要です。<br /><br /><strong>VBA</strong>言語を使って、初心者でも今すぐにプログラミングが始められます。<br /><br />したがってExcelは、私達に最も身近な「開発ツール」であるとも言えます。<br /><br />そんなExcelのメリットを活かしつつ、さらに10倍、100倍活用するために重要なキーワードがあります。<br /><br />それが「インターネット」と「通信」です。<br /><br />ExcelのVBAを使って、インターネット上にある膨大な情報源にアクセスできるようになると、活用範囲が一気に広がります。<br /><br />例えば、Excelで「XML」の取得が可能です。これはとても大きな意味を持ちます。<br /><br />XMLを使うと、コンピューター同士で、データのやり取りを行なうことができます。<br /><br />つまりコンピューター同士が、簡単につながるわけです。＊重要<br /><br />一番身近な例では、XMLの一種である「RSS」を取得すれば、ExcelでRSSリーダーを作成することができます。<br /><br />RSSリーダーも、コンピューター同士がつながっているのですが、イマイチ凄さが伝わりませんよね。(本当は凄いことなのです)<br /><br />それでは次の例はどうでしょうか？<br /><br />今では、多くのWebサービスが、データをXMLで提供しています。<br /><br />例えば、証券会社のWebサービスを利用すれば、Excelで株式やFXの売買を行なうことも可能なのです。<br /><br /><a href="http://fxhp.seesaa.net/category/5510898-1.html" target="_blank">WebサービスAPIで、オリジナルのシステムトレードソフトを開発する方法。</a><br /><br />もちろん過去の株価や為替相場のデータを取り込んで、Excelで分析することも可能です。<br /><br />もしあなたなりの法則を発見できれば、大きく儲けることが出来るかもしれません。<br /><br />どうですか？コンピューター同士がつながることの凄さが、少しはイメージできましたか？<br /><br />さらに、Excelからメールを送受信することも可能です。<br /><br /><a href="http://mailpg.pgtop.net/" target="_blank">メール送信・受信プログラミング初心者入門(Excel版)</a><br /><br />メールの送受信でも、コンピューター同士がつながっています。<br /><br />メールを送受信する時には、メールサーバーに接続するし、送受信先のパソコンとも、メールを通して、データをやり取りすることができます。<br /><br />実はメールからデータを抽出することも可能なので、ネットショップの受注管理にも利用できます。<br /><br />このようにExcelは、インターネットに接続することで、利用範囲や可能性が、ますます広がります。<br /><br />Excelは、もうローカルで表計算を行なうだけのアプリケーションソフトではありません。<br /><br />Excelの可能性は、無限に広がっているのです。<br /><br />当講座でも、応用編として、これらのプログラミングを紹介する予定です。お楽しみに！<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>■Excel活用の重要キーワードとは？</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/135843394</guid>
                </item>
        <item>
      <link>http://exvba.officehp.com/article/135585338.html</link>
      <title>まずはExcel VBAプログラミングの基本を学びましょう。</title>
      <pubDate>Mon, 14 Dec 2009 10:46:46 +0900</pubDate>
            <description>VBAはExcelだけでなく、Microsoft社の Office製品で、共通して使えるプログラミング言語です。VBE(Visual Basic Editor)という統合開発環境も、共通して使えます。ただ Office製品ごとに扱えるオブジェクト(対象)が異なります。例えば Excelでは、ワークシート、セル、フォームなどが、操作対象となります。また Accessでは、テーブル、フォーム、レポートなどが、操作対象となります。でもVBAの基本は、どれも同じなので、Excelで覚..</description>
            <itunes:summary><![CDATA[
VBAはExcelだけでなく、Microsoft社の Office製品で、共通して使えるプログラミング言語です。

VBE(Visual Basic Editor)という統合開発環境も、共通して使えます。

ただ Office製品ごとに扱えるオブジェクト(対象)が異なります。

例えば Excelでは、ワークシート、セル、フォームなどが、操作対象となります。

また Accessでは、テーブル、フォーム、レポートなどが、操作対象となります。

でもVBAの基本は、どれも同じなので、Excelで覚えたVBAの基本は、Accessでも使えます。

あとはそれぞれの Office 製品に特徴的な機能を学べばよいだけです。

Excelの最大の特徴は、ワークシートのセルにデータを簡単に保存できることと、その手軽さです。

セルに入力したデータは、Excelのツールバーにある「上書き保存」ボタンで、簡単に保存することができます。

データをテキストファイルに保存したことがあるプログラマーならわかると思いますが、この手軽さはとても便利です。

検索や抽出もExcelの基本的な機能として、最初から用意されています。

したがって「手軽さ」という点では、Access のようなデータベースよりも、Excelの方が便利です。

もちろん Access の方が便利なことも多いですが、Excelに比べると手間がかかります。

普段からよく使われるExcelは、初心者がプログラミングを学ぶツールとしても最適です。

基礎編では、Excel VBAを学ぶ上で欠かせない、セルとワークシートの扱い方から解説します。

まずは、Excel VBAプログラムの中から、「セルのデータを取得する方法」と「セルへデータを出力する方法」(書き込む)を覚えましょう。

またExcelでは、複数のワークシートを作成することができます。

そのため、ワークシートを指定してから、セルのデータを扱う方法も大事です。

図を交えて詳しく解説するので、プログラミング初心者でも大丈夫です。必ず理解できるようになります。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>VBA</strong>は<strong>Excel</strong>だけでなく、Microsoft社の Office製品で、共通して使えるプログラミング言語です。<br /><br />VBE(Visual Basic Editor)という統合開発環境も、共通して使えます。<br /><br />ただ Office製品ごとに扱えるオブジェクト(対象)が異なります。<br /><br />例えば Excelでは、ワークシート、セル、フォームなどが、操作対象となります。<br /><br />また Accessでは、テーブル、フォーム、レポートなどが、操作対象となります。<br /><br />でもVBAの基本は、どれも同じなので、Excelで覚えたVBAの基本は、Accessでも使えます。<br /><br />あとはそれぞれの Office 製品に特徴的な機能を学べばよいだけです。<br /><br />Excelの最大の特徴は、ワークシートのセルにデータを簡単に保存できることと、その手軽さです。<br /><br />セルに入力したデータは、Excelのツールバーにある「上書き保存」ボタンで、簡単に保存することができます。<br /><br />データをテキストファイルに保存したことがあるプログラマーならわかると思いますが、この手軽さはとても便利です。<br /><br />検索や抽出もExcelの基本的な機能として、最初から用意されています。<br /><br />したがって「手軽さ」という点では、Access のようなデータベースよりも、Excelの方が便利です。<br /><br />もちろん Access の方が便利なことも多いですが、Excelに比べると手間がかかります。<br /><br />普段からよく使われるExcelは、初心者がプログラミングを学ぶツールとしても最適です。<br /><br />基礎編では、Excel VBAを学ぶ上で欠かせない、セルとワークシートの扱い方から解説します。<br /><br />まずは、Excel VBAプログラムの中から、「セルのデータを取得する方法」と「セルへデータを出力する方法」(書き込む)を覚えましょう。<br /><br />またExcelでは、複数のワークシートを作成することができます。<br /><br />そのため、ワークシートを指定してから、セルのデータを扱う方法も大事です。<br /><br />図を交えて詳しく解説するので、プログラミング初心者でも大丈夫です。必ず理解できるようになります。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>■Excel VBAの基礎編</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/135585338</guid>
                </item>
        <item>
      <link>http://exvba.officehp.com/article/134741410.html</link>
      <title>Excel VBA プロシージャの種類と特徴について。</title>
      <pubDate>Sat, 05 Dec 2009 07:05:59 +0900</pubDate>
            <description>ExcelのVBAでは、プロシージャという単位でプログラミングを行ないます。プロシージャ(procedure)とは、複数の処理をまとめたプログラムの単位のことです。C言語のように、プログラミング言語によっては、関数ということもあります。VBAのプロシージャには、いくつか種類があります。よく使われるのは、以下の3種類です。(1)Functionプロシージャこれまで例として取り上げてきたのは、このタイプのプロシージャです。Functionプロシージャは、関数プロシージャとも呼ばれ..</description>
            <itunes:summary><![CDATA[
ExcelのVBAでは、プロシージャという単位でプログラミングを行ないます。

プロシージャ(procedure)とは、複数の処理をまとめたプログラムの単位のことです。

C言語のように、プログラミング言語によっては、関数ということもあります。

VBAのプロシージャには、いくつか種類があります。よく使われるのは、以下の3種類です。

(1)Functionプロシージャ
これまで例として取り上げてきたのは、このタイプのプロシージャです。

Functionプロシージャは、関数プロシージャとも呼ばれるように、何らかの処理(計算など)を行なった後に、戻り値を返すことができます。

また Excelのワークシート上で、セルの数式に使えることもメリットです。


(2)Subプロシージャ
Subプロシージャは、何らかの処理を行なうプロシージャです。サブルーチンと呼ばれることもあります。

Subプロシージャは、他のプロシージャから呼び出して使います。

またSubプロシージャは、処理を分割する時に便利です。

プログラムが長くなると、メンテナンスが大変だし、複数のプロシージャで同じプログラムが重複することがあります。

そんな時は、役割ごとにプログラムをSubプロシージャ化することで、メンテナンスが容易になり、プログラムの重複が防げます。(再利用性が高まる)

しかしSubプロシージャは、Functionプロシージャと違い、戻り値を返すことは出来ません。


(3)イベントプロシージャ
イベントプロシージャは、イベント(出来事)が起こったことをキッカケに、システム(コンピューター)が、自動的に呼び出すプロシージャです。これが最大の特徴です。

FunctionプロシージャやSubプロシージャは、プログラマーやユーザーが、呼び出すキッカケを作らないと実行できないのに対し、イベントプロシージャは自動的に呼び出されます。

例えば、ユーザーがボタンをクリックしたこと(出来事)をキッカケに、イベントプロシージャに書かれたプログラムが実行されます。

プログラム実行の対象となるイベントは、沢山あります。

またイベントプロシージャは、他のプロシージャから呼び出して使うことも可能です。


【補講】
これらのプロシージャで共通していることは、以下の2つです。

(1)引数を受け取ることができる。
プロシージャを呼び出す時に渡す「実引数」のデータ型と、プロシージャ側で受け取る「仮引数」のデータ型を一致させる必要があります。

ただしイベントプロシージャだけは、システムが自動的に引数を渡します。


(2)他のプロシージャ内で呼び出せる
上記の3つのプロシージャは、他のプロシージャから呼び出して使えます。

意外と忘れられがちですが、イベントプロシージャの場合も「Call ステートメント」を使うことで、呼び出すことが可能です。


プロシージャの種類と特徴については、実際にプログラミングを行ない、使っていくうちにわかるようになります。

今の段階では難しく感じるかも知れませんが、安心してください。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>では、プロシージャという単位でプログラミングを行ないます。<br /><br />プロシージャ(procedure)とは、複数の処理をまとめたプログラムの単位のことです。<br /><br />C言語のように、プログラミング言語によっては、関数ということもあります。<br /><br />VBAのプロシージャには、いくつか種類があります。よく使われるのは、以下の3種類です。<br /><br />(1)Functionプロシージャ<br />これまで例として取り上げてきたのは、このタイプのプロシージャです。<br /><br />Functionプロシージャは、関数プロシージャとも呼ばれるように、何らかの処理(計算など)を行なった後に、戻り値を返すことができます。<br /><br />また Excelのワークシート上で、セルの数式に使えることもメリットです。<br /><br /><br />(2)Subプロシージャ<br />Subプロシージャは、何らかの処理を行なうプロシージャです。サブルーチンと呼ばれることもあります。<br /><br />Subプロシージャは、他のプロシージャから呼び出して使います。<br /><br />またSubプロシージャは、処理を分割する時に便利です。<br /><br />プログラムが長くなると、メンテナンスが大変だし、複数のプロシージャで同じプログラムが重複することがあります。<br /><br />そんな時は、役割ごとにプログラムをSubプロシージャ化することで、メンテナンスが容易になり、プログラムの重複が防げます。(再利用性が高まる)<br /><br />しかしSubプロシージャは、Functionプロシージャと違い、戻り値を返すことは出来ません。<br /><br /><br />(3)イベントプロシージャ<br />イベントプロシージャは、イベント(出来事)が起こったことをキッカケに、システム(コンピューター)が、自動的に呼び出すプロシージャです。これが最大の特徴です。<br /><br />FunctionプロシージャやSubプロシージャは、プログラマーやユーザーが、呼び出すキッカケを作らないと実行できないのに対し、イベントプロシージャは自動的に呼び出されます。<br /><br />例えば、ユーザーがボタンをクリックしたこと(出来事)をキッカケに、イベントプロシージャに書かれたプログラムが実行されます。<br /><br />プログラム実行の対象となるイベントは、沢山あります。<br /><br />またイベントプロシージャは、他のプロシージャから呼び出して使うことも可能です。<br /><br /><br />【補講】<br />これらのプロシージャで共通していることは、以下の2つです。<br /><br />(1)引数を受け取ることができる。<br />プロシージャを呼び出す時に渡す「実引数」のデータ型と、プロシージャ側で受け取る「仮引数」のデータ型を一致させる必要があります。<br /><br />ただしイベントプロシージャだけは、システムが自動的に引数を渡します。<br /><br /><br />(2)他のプロシージャ内で呼び出せる<br />上記の3つのプロシージャは、他のプロシージャから呼び出して使えます。<br /><br />意外と忘れられがちですが、イベントプロシージャの場合も「Call ステートメント」を使うことで、呼び出すことが可能です。<br /><br /><br />プロシージャの種類と特徴については、実際にプログラミングを行ない、使っていくうちにわかるようになります。<br /><br />今の段階では難しく感じるかも知れませんが、安心してください。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>プロシージャの種類と特徴</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134741410</guid>
                </item>
        <item>
      <link>http://exvba.officehp.com/article/134655724.html</link>
      <title>Excel VBA テキストファイルの内容を読み込み、ワークシートのセルに表示する方法。</title>
      <pubDate>Fri, 04 Dec 2009 07:45:12 +0900</pubDate>
            <description>ExcelのVBAで、ユーザー定義関数を作成すれば、もっといろんなことが出来ます。ユーザー定義関数(関数プロシージャ)は、関数名と引数で呼び出すだけで、複雑な処理を行ない、戻り値を返すことが可能です。今回はユーザー定義関数の応用例として、テキストファイルの内容を読み込み、ワークシートのセルに表示するプログラムを試してみましょう。プログラムは私のほうで作成済みです。【1】以下のファイルをダウンロードしてください。textFile.zip【2】ダウンロードした「textFile...</description>
            <itunes:summary><![CDATA[
ExcelのVBAで、ユーザー定義関数を作成すれば、もっといろんなことが出来ます。

ユーザー定義関数(関数プロシージャ)は、関数名と引数で呼び出すだけで、複雑な処理を行ない、戻り値を返すことが可能です。

今回はユーザー定義関数の応用例として、テキストファイルの内容を読み込み、ワークシートのセルに表示するプログラムを試してみましょう。

プログラムは私のほうで作成済みです。

【1】以下のファイルをダウンロードしてください。

<a href="http://exvba.up.seesaa.net/web/textFile.zip">textFile.zip</a>


【2】ダウンロードした「textFile.zip」を解凍すると、「textFile.xls」というExcelファイルがあります。

<a href="http://exvba.up.seesaa.net/image/excel-vba-71.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-71-thumbnail2.gif" width="150" height="54" border="0" alt="excel-vba-71.gif" /></a>


【3】次は「test.txt」というファイル名で、テキストファイルを作成し、Cドライブの直下に保存してください。

・C:\test.txt
<a href="http://exvba.up.seesaa.net/image/excel-vba-78.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-78-thumbnail2.gif" width="143" height="150" border="0" alt="excel-vba-78.gif" /></a>

＊「\」はWindowsでは円記号のことです。
＊ファイルの保存場所は重要です。

このテキストファイルの文章は、何でもかまいません。適当な文章を用意してください。

また上の図では、TeraPadというテキストエディターを使って作成していますが、Windows付属のメモ帳でもかまいません。


これで準備が整いました。

【4】「textFile.xls」を開いてください。


【5】メッセージが表示されますが、安全なので「マクロを有効にする」をクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-72.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-72-thumbnail2.gif" width="150" height="79" border="0" alt="excel-vba-72.gif" /></a>


【6】Excelの画面が表示されました。

<a href="http://exvba.up.seesaa.net/image/excel-vba-73.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-73-thumbnail2.gif" width="150" height="110" border="0" alt="excel-vba-73.gif" /></a>

このExcelファイルは、テキストファイルから取得した文章が表示しやすいように、セルの設定を以下のように変えています。

(1)A列の横幅を広げた。
(2)A列10行目までは、縦も広げた。
(3)A列10行目までのセルの書式設定を変更した。
・配置タブ　縦位置　上詰め
・配置タブ　文字の制御　折り返して全体を表示する


【7】VBEを起動します。

＊「Altキー」＋「F11キー」


【8】標準モジュールの「Module1」を選択し、コード(プログラム)を表示します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-74.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-74-thumbnail2.gif" width="150" height="84" border="0" alt="excel-vba-74.gif" /></a>


【9】ユーザー定義関数のデータ型に注目してください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-75.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-75-thumbnail2.gif" width="150" height="90" border="0" alt="excel-vba-75.gif" /></a>

この readTextFile() という関数は、String型(文字列型)のデータを受け取り、String型のデータを戻り値として返します。

プログラムの内部は、テキストファイルの1行目から最後の行までを取得し、最後に全体を返しているだけです。

プログラムの詳しい解説は、以下のWebページをご覧ください。
<a href="http://mailpg.pgtop.net/category/7160842-1.html" target="_blank">ステップメールで送信する文章を、テキストファイルから読み込む方法について。</a>

この関数は、Excelからメールを送信(ステップメール)する時に、あらかじめ作成しておいた文章を取得するためのものです。解説がちょっと難しいかも知れません。

関数は使い方がわかれば、とりあえず利用はできるので、この段階ではプログラムの意味がわからなくてもかまいません。


【10】プログラムの確認が済んだら、VBEを閉じてください。


【11】セル「A1」の「数式の編集」に以下のような式を入力し、関数を呼び出します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-76.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-76-thumbnail2.gif" width="150" height="103" border="0" alt="excel-vba-76.gif" /></a>

・例

=readTextFile("C:\test.txt")


＊「\」はWindowsでは円記号のことです。
＊必ず存在するテキストファイルを指定してください。
＊テキストファイルはフルパスで指定します。

またこの関数の引数は、String型なので、「"」(ダブルクォーテーション)で囲むことも忘れないでください。忘れるとエラーになります。

このプログラムはパソコンのファイルを読み込むので、セキュリティソフトによっては、メッセージが表示されることがあります。安全なので、「許可」してください。


【12】関数を実行すると、以下のようにテキストファイルの内容が取得できます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-77.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-77-thumbnail2.gif" width="130" height="150" border="0" alt="excel-vba-77.gif" /></a>


【13】他にもテキストファイルを用意して、別のセルに読み込んでみてください。


【14】動作確認が済んだら、「textFile.xls」を閉じてください。


【15】ファイルを閉じる時には、メッセージが表示されます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-79.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-79-thumbnail2.gif" width="150" height="57" border="0" alt="excel-vba-79.gif" /></a>

これは数式の編集を行なったためです。

ファイルの変更点を残しておきたい場合は「はい」、残す必要がなければ「いいえ」をクリックします。


どうでしたか？

「関数名と引数で呼び出すだけで、複雑な処理を行ない、戻り値を返す」という感覚が掴めたでしょうか。

今回は10行ちょっとの短いプログラムでしたが、もっと複雑な処理でも可能です。

数百行から数千行の処理も、関数名だけで呼び出すことができます。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>で、ユーザー定義関数を作成すれば、もっといろんなことが出来ます。<br /><br />ユーザー定義関数(関数プロシージャ)は、関数名と引数で呼び出すだけで、複雑な処理を行ない、戻り値を返すことが可能です。<br /><br />今回はユーザー定義関数の応用例として、テキストファイルの内容を読み込み、ワークシートのセルに表示するプログラムを試してみましょう。<br /><br />プログラムは私のほうで作成済みです。<br /><br />【1】以下のファイルをダウンロードしてください。<br /><br /><a href="http://exvba.up.seesaa.net/web/textFile.zip">textFile.zip</a><br /><br /><br />【2】ダウンロードした「textFile.zip」を解凍すると、「textFile.xls」というExcelファイルがあります。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-71.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-71-thumbnail2.gif" width="150" height="54" border="0" align="" alt="excel-vba-71.gif" /></a><br /><br /><br />【3】次は「test.txt」というファイル名で、テキストファイルを作成し、Cドライブの直下に保存してください。<br /><br />・C:\test.txt<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-78.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-78-thumbnail2.gif" width="143" height="150" border="0" align="" alt="excel-vba-78.gif" /></a><br /><br />＊「\」はWindowsでは円記号のことです。<br />＊ファイルの保存場所は重要です。<br /><br />このテキストファイルの文章は、何でもかまいません。適当な文章を用意してください。<br /><br />また上の図では、TeraPadというテキストエディターを使って作成していますが、Windows付属のメモ帳でもかまいません。<br /><br /><br />これで準備が整いました。<br /><br />【4】「textFile.xls」を開いてください。<br /><br /><br />【5】メッセージが表示されますが、安全なので「マクロを有効にする」をクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-72.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-72-thumbnail2.gif" width="150" height="79" border="0" align="" alt="excel-vba-72.gif" /></a><br /><br /><br />【6】Excelの画面が表示されました。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-73.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-73-thumbnail2.gif" width="150" height="110" border="0" align="" alt="excel-vba-73.gif" /></a><br /><br />このExcelファイルは、テキストファイルから取得した文章が表示しやすいように、セルの設定を以下のように変えています。<br /><br />(1)A列の横幅を広げた。<br />(2)A列10行目までは、縦も広げた。<br />(3)A列10行目までのセルの書式設定を変更した。<br />・配置タブ　縦位置　上詰め<br />・配置タブ　文字の制御　折り返して全体を表示する<br /><br /><br />【7】VBEを起動します。<br /><br />＊「Altキー」＋「F11キー」<br /><br /><br />【8】標準モジュールの「Module1」を選択し、コード(プログラム)を表示します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-74.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-74-thumbnail2.gif" width="150" height="84" border="0" align="" alt="excel-vba-74.gif" /></a><br /><br /><br />【9】ユーザー定義関数のデータ型に注目してください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-75.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-75-thumbnail2.gif" width="150" height="90" border="0" align="" alt="excel-vba-75.gif" /></a><br /><br />この readTextFile() という関数は、String型(文字列型)のデータを受け取り、String型のデータを戻り値として返します。<br /><br />プログラムの内部は、テキストファイルの1行目から最後の行までを取得し、最後に全体を返しているだけです。<br /><br />プログラムの詳しい解説は、以下のWebページをご覧ください。<br /><a href="http://mailpg.pgtop.net/category/7160842-1.html" target="_blank">ステップメールで送信する文章を、テキストファイルから読み込む方法について。</a><br /><br />この関数は、Excelからメールを送信(ステップメール)する時に、あらかじめ作成しておいた文章を取得するためのものです。解説がちょっと難しいかも知れません。<br /><br />関数は使い方がわかれば、とりあえず利用はできるので、この段階ではプログラムの意味がわからなくてもかまいません。<br /><br /><br />【10】プログラムの確認が済んだら、VBEを閉じてください。<br /><br /><br />【11】セル「A1」の「数式の編集」に以下のような式を入力し、関数を呼び出します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-76.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-76-thumbnail2.gif" width="150" height="103" border="0" align="" alt="excel-vba-76.gif" /></a><br /><br />・例<br /><div class="pg"><br />=readTextFile("C:\test.txt")<br /></div><br /><br />＊「\」はWindowsでは円記号のことです。<br />＊必ず存在するテキストファイルを指定してください。<br />＊テキストファイルはフルパスで指定します。<br /><br />またこの関数の引数は、String型なので、「"」(ダブルクォーテーション)で囲むことも忘れないでください。忘れるとエラーになります。<br /><br />このプログラムはパソコンのファイルを読み込むので、セキュリティソフトによっては、メッセージが表示されることがあります。安全なので、「許可」してください。<br /><br /><br />【12】関数を実行すると、以下のようにテキストファイルの内容が取得できます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-77.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-77-thumbnail2.gif" width="130" height="150" border="0" align="" alt="excel-vba-77.gif" /></a><br /><br /><br />【13】他にもテキストファイルを用意して、別のセルに読み込んでみてください。<br /><br /><br />【14】動作確認が済んだら、「textFile.xls」を閉じてください。<br /><br /><br />【15】ファイルを閉じる時には、メッセージが表示されます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-79.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-79-thumbnail2.gif" width="150" height="57" border="0" align="" alt="excel-vba-79.gif" /></a><br /><br />これは数式の編集を行なったためです。<br /><br />ファイルの変更点を残しておきたい場合は「はい」、残す必要がなければ「いいえ」をクリックします。<br /><br /><br />どうでしたか？<br /><br />「関数名と引数で呼び出すだけで、複雑な処理を行ない、戻り値を返す」という感覚が掴めたでしょうか。<br /><br />今回は10行ちょっとの短いプログラムでしたが、もっと複雑な処理でも可能です。<br /><br />数百行から数千行の処理も、関数名だけで呼び出すことができます。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step11・テキストファイルの内容を読み込む</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134655724</guid>
            <enclosure url="https://exvba.up.seesaa.net/web/textFile.zip" length="5049" type="application/x-zip" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-71.gif" length="3161" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-71.gif" length="3161" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-78.gif" length="56764" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-78.gif" length="56764" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-72.gif" length="15105" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-72.gif" length="15105" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-73.gif" length="27134" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-73.gif" length="27134" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-74.gif" length="40854" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-74.gif" length="40854" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-75.gif" length="8900" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-75.gif" length="8900" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-76.gif" length="14919" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-76.gif" length="14919" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-77.gif" length="52933" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-77.gif" length="52933" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-79.gif" length="11180" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-79.gif" length="11180" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134570257.html</link>
      <title>Excel VBA プログラムはいろんな書き方ができます。正解は一つではありません。</title>
      <pubDate>Thu, 03 Dec 2009 07:32:08 +0900</pubDate>
            <description>ExcelのVBAに限らず、プログラミングはプログラマーによって、いろんな書き方ができます。したがってプログラムの正解は一つではありません。いくつもあります。でも効率的な書き方や、メンテナンスしやすい書き方というものはあります。また、ユーザー定義関数の中で、さらに別のユーザー定義関数を呼び出すことで、前に作成したプログラムを有効に活用することもできます。そこで今回は、同じ結果を出すプログラムでも、いろんな書き方ができることを学んでください。オリジナルのユーザー定義関数を、さら..</description>
            <itunes:summary><![CDATA[
ExcelのVBAに限らず、プログラミングはプログラマーによって、いろんな書き方ができます。

したがってプログラムの正解は一つではありません。いくつもあります。

でも効率的な書き方や、メンテナンスしやすい書き方というものはあります。

また、ユーザー定義関数の中で、さらに別のユーザー定義関数を呼び出すことで、前に作成したプログラムを有効に活用することもできます。

そこで今回は、同じ結果を出すプログラムでも、いろんな書き方ができることを学んでください。

オリジナルのユーザー定義関数を、さらに改良してみましょう。

(1)まず、これまでの基本となる calcGankin() というユーザー定義関数があります。

・calcGankin()
<a href="http://exvba.up.seesaa.net/image/excel-vba-66.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-66-thumbnail2.gif" width="150" height="29" border="0" alt="excel-vba-66.gif" /></a>

このユーザー定義関数は、欲しい利息と利率(年率)から、必要な元金を逆算するためのものです。

・使用例

=calcGankin(1000,0.5)



(2)次に calcGankin() を改良して、calcGankinF()というユーザー定義関数を作成しました。

・calcGankinF()
<a href="http://exvba.up.seesaa.net/image/excel-vba-67.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-67-thumbnail2.gif" width="150" height="29" border="0" alt="excel-vba-67.gif" /></a>

関数の使い方は同じです。

・使用例

=calcGankinF(1000,0.5)


このユーザー定義関数は、計算結果を「桁区切り」する書式を加えたり、円表示を加えています。

ここでのポイントは、元金の計算式をそのまま残していることです。

つまり同じ計算式が、calcGankin() と calcGankinF() の両方にあります。

それぞれに計算式があるメリットは、異なる式に変えやすいことです。

逆に言うと、計算式を変えたい場合や、式が間違っていた場合には、両方修正しなければならないデメリットがあります。


(3)そこで calcGankin() の計算式を利用しつつ、元金の書式を加えた、calcGankinF2()というユーザー定義関数を作成しましょう。

これまでのユーザー定義関数の下に新しく作成して、動作確認してみてください。

・calcGankinF2()
<a href="http://exvba.up.seesaa.net/image/excel-vba-65.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-65-thumbnail2.gif" width="150" height="102" border="0" alt="excel-vba-65.gif" /></a>


Public Function calcGankinF2(risoku As Long, kinri As Single) As String
&nbsp;&nbsp;Dim gankin As Currency
&nbsp;&nbsp;
&nbsp;&nbsp;gankin = calcGankin(risoku, kinri)
&nbsp;&nbsp;calcGankinF2 = Format(gankin, "##,##0") &amp; "円"
&nbsp;&nbsp;
End Function


計算結果は calcGankinF() とまったく同じになるはずです。

・使用例

=calcGankinF2(1000,0.5)


でも calcGankinF2() には、計算式がありませんよね。計算式の変わりに、別のユーザー定義関数を呼び出して使っています。


gankin = calcGankin(risoku, kinri)


このようにユーザー定義関数の中では、別のユーザー定義関数を呼び出して使うことができます。もちろん既存の関数も使えます。

別のユーザー定義関数を呼び出すことで、プログラムの処理を分割したり、プログラムの再活用が可能になります。

もし計算式が変更になった時でも、calcGankin() 側の修正だけで済みます。

また、calcGankinF2()が呼び出された時に受け取った引数を、そのままcalcGankin()を呼び出す時の引数として使っている点にも注目してください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-70.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-70-thumbnail2.gif" width="150" height="27" border="0" alt="excel-vba-70.gif" /></a>

このような書き方はよく使われるので、覚えておくと便利です。


(4)もっとシンプルにしたのが、calcGankinF3() です。これも作成して、動作確認してみてください。

・calcGankinF3()
<a href="http://exvba.up.seesaa.net/image/excel-vba-68.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-68-thumbnail2.gif" width="150" height="22" border="0" alt="excel-vba-68.gif" /></a>


Public Function calcGankinF3(risoku As Long, kinri As Single) As String
&nbsp;&nbsp;
&nbsp;&nbsp;calcGankinF3 = Format(calcGankin(risoku, kinri), "##,##0") &amp; "円"
&nbsp;&nbsp;
End Function


・使用例

=calcGankinF3(1000,0.5)


出力結果は同じですが、プログラムがたった1行になりました。

でも関数が入れ子の状態なので、少しわかり難いですよね。そんな時は「置き換え」で考えます。

＊入れ子　ここでは関数の中に関数がある状態

calcGankinF3 = Format(calcGankin(risoku, kinri), "##,##0") &amp; "円"
↓
calcGankinF3 = Format(calcGankin(1000, 0.5), "##,##0") &amp; "円"
↓
calcGankinF3 = Format(250000, "##,##0") &amp; "円"
↓
calcGankinF3 = "250,000" &amp; "円"
↓
calcGankinF3 = "250,000円"

このように引数の値や、関数の戻り値を、実際の値に置き換えてイメージすると、わかりやすいです。これがプログラムを読む時のコツです。


【解説】
今回はユーザー定義関数の応用編として、少し変わった書き方を学びました。

同じ結果を得るプログラムでも「いろんな書き方ができるんだなぁ」という感じを掴んでいただけたら幸いです。

プログラミングの正解は一つではないことが、何となくわかったのではないでしょうか。

また、今回ぜひ押さえおいて欲しいポイントは、以下の3つです。

・ユーザー定義関数の中で、さらに別のユーザー定義関数が呼び出せる。
・別のユーザー定義関数を呼び出すことで、プログラムを分割したり、処理を再活用できる。
・受け取った値を、さらに別の関数を呼び出す時の引数にできる。

プログラミングとは、既存の関数やオリジナルのユーザー定義関数を組み合わせて、実現したい処理を組み立てていく作業なのです。

ちなみにJava言語などのオブジェクト指向型言語では、「継承」という便利な仕組みがあるので、プログラムの再利用が、もっと効率的にできます。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>に限らず、プログラミングはプログラマーによって、いろんな書き方ができます。<br /><br />したがってプログラムの正解は一つではありません。いくつもあります。<br /><br />でも効率的な書き方や、メンテナンスしやすい書き方というものはあります。<br /><br />また、ユーザー定義関数の中で、さらに別のユーザー定義関数を呼び出すことで、前に作成したプログラムを有効に活用することもできます。<br /><br />そこで今回は、同じ結果を出すプログラムでも、いろんな書き方ができることを学んでください。<br /><br />オリジナルのユーザー定義関数を、さらに改良してみましょう。<br /><br />(1)まず、これまでの基本となる calcGankin() というユーザー定義関数があります。<br /><br />・calcGankin()<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-66.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-66-thumbnail2.gif" width="150" height="29" border="0" align="" alt="excel-vba-66.gif" /></a><br /><br />このユーザー定義関数は、欲しい利息と利率(年率)から、必要な元金を逆算するためのものです。<br /><br />・使用例<br /><div class="pg"><br />=calcGankin(1000,0.5)<br /></div><br /><br /><br />(2)次に calcGankin() を改良して、calcGankinF()というユーザー定義関数を作成しました。<br /><br />・calcGankinF()<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-67.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-67-thumbnail2.gif" width="150" height="29" border="0" align="" alt="excel-vba-67.gif" /></a><br /><br />関数の使い方は同じです。<br /><br />・使用例<br /><div class="pg"><br />=calcGankinF(1000,0.5)<br /></div><br /><br />このユーザー定義関数は、計算結果を「桁区切り」する書式を加えたり、円表示を加えています。<br /><br />ここでのポイントは、元金の計算式をそのまま残していることです。<br /><br />つまり同じ計算式が、calcGankin() と calcGankinF() の両方にあります。<br /><br />それぞれに計算式があるメリットは、異なる式に変えやすいことです。<br /><br />逆に言うと、計算式を変えたい場合や、式が間違っていた場合には、両方修正しなければならないデメリットがあります。<br /><br /><br />(3)そこで calcGankin() の計算式を利用しつつ、元金の書式を加えた、calcGankinF2()というユーザー定義関数を作成しましょう。<br /><br />これまでのユーザー定義関数の下に新しく作成して、動作確認してみてください。<br /><br />・calcGankinF2()<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-65.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-65-thumbnail2.gif" width="150" height="102" border="0" align="" alt="excel-vba-65.gif" /></a><br /><br /><div class="pg"><br />Public Function calcGankinF2(risoku As Long, kinri As Single) As String<br />&nbsp;&nbsp;Dim gankin As Currency<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;gankin = calcGankin(risoku, kinri)<br />&nbsp;&nbsp;calcGankinF2 = Format(gankin, "##,##0") &amp; "円"<br />&nbsp;&nbsp;<br />End Function<br /></div><br /><br />計算結果は calcGankinF() とまったく同じになるはずです。<br /><br />・使用例<br /><div class="pg"><br />=calcGankinF2(1000,0.5)<br /></div><br /><br />でも calcGankinF2() には、計算式がありませんよね。計算式の変わりに、別のユーザー定義関数を呼び出して使っています。<br /><br /><div class="pg"><br />gankin = calcGankin(risoku, kinri)<br /></div><br /><br />このようにユーザー定義関数の中では、別のユーザー定義関数を呼び出して使うことができます。もちろん既存の関数も使えます。<br /><br />別のユーザー定義関数を呼び出すことで、プログラムの処理を分割したり、プログラムの再活用が可能になります。<br /><br />もし計算式が変更になった時でも、calcGankin() 側の修正だけで済みます。<br /><br />また、calcGankinF2()が呼び出された時に受け取った引数を、そのままcalcGankin()を呼び出す時の引数として使っている点にも注目してください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-70.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-70-thumbnail2.gif" width="150" height="27" border="0" align="" alt="excel-vba-70.gif" /></a><br /><br />このような書き方はよく使われるので、覚えておくと便利です。<br /><br /><br />(4)もっとシンプルにしたのが、calcGankinF3() です。これも作成して、動作確認してみてください。<br /><br />・calcGankinF3()<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-68.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-68-thumbnail2.gif" width="150" height="22" border="0" align="" alt="excel-vba-68.gif" /></a><br /><br /><div class="pg"><br />Public Function calcGankinF3(risoku As Long, kinri As Single) As String<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;calcGankinF3 = Format(calcGankin(risoku, kinri), "##,##0") &amp; "円"<br />&nbsp;&nbsp;<br />End Function<br /></div><br /><br />・使用例<br /><div class="pg"><br />=calcGankinF3(1000,0.5)<br /></div><br /><br />出力結果は同じですが、プログラムがたった1行になりました。<br /><br />でも関数が入れ子の状態なので、少しわかり難いですよね。そんな時は「置き換え」で考えます。<br /><br />＊入れ子　ここでは関数の中に関数がある状態<br /><br />calcGankinF3 = Format(calcGankin(risoku, kinri), "##,##0") &amp; "円"<br />↓<br />calcGankinF3 = Format(calcGankin(1000, 0.5), "##,##0") &amp; "円"<br />↓<br />calcGankinF3 = Format(250000, "##,##0") &amp; "円"<br />↓<br />calcGankinF3 = "250,000" &amp; "円"<br />↓<br />calcGankinF3 = "250,000円"<br /><br />このように引数の値や、関数の戻り値を、実際の値に置き換えてイメージすると、わかりやすいです。これがプログラムを読む時のコツです。<br /><br /><br />【解説】<br />今回はユーザー定義関数の応用編として、少し変わった書き方を学びました。<br /><br />同じ結果を得るプログラムでも「いろんな書き方ができるんだなぁ」という感じを掴んでいただけたら幸いです。<br /><br />プログラミングの正解は一つではないことが、何となくわかったのではないでしょうか。<br /><br />また、今回ぜひ押さえおいて欲しいポイントは、以下の3つです。<br /><br />・ユーザー定義関数の中で、さらに別のユーザー定義関数が呼び出せる。<br />・別のユーザー定義関数を呼び出すことで、プログラムを分割したり、処理を再活用できる。<br />・受け取った値を、さらに別の関数を呼び出す時の引数にできる。<br /><br />プログラミングとは、既存の関数やオリジナルのユーザー定義関数を組み合わせて、実現したい処理を組み立てていく作業なのです。<br /><br />ちなみにJava言語などのオブジェクト指向型言語では、「継承」という便利な仕組みがあるので、プログラムの再利用が、もっと効率的にできます。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step10・プログラムの書き方はいろいろある</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134570257</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-66.gif" length="3574" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-66.gif" length="3574" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-67.gif" length="3823" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-67.gif" length="3823" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-65.gif" length="14938" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-65.gif" length="14938" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-70.gif" length="4915" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-70.gif" length="4915" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-68.gif" length="3809" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-68.gif" length="3809" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134494242.html</link>
      <title>Excel VBA オリジナルのユーザー定義関数を、さらに改良してみましょう。</title>
      <pubDate>Wed, 02 Dec 2009 10:56:12 +0900</pubDate>
            <description>ExcelのVBAで、ユーザー定義関数を作成するメリットの一つが、自由に改良できることです例えば以下のように、「桁区切り」と、「円」の表示ができるように改良してみましょう。【1】Excelのファイル「gankin.xls」を開きます。＊マクロを有効にするダウンロードしたものでも、あなたが作成したものでもかまいません。【2】VBEを起動します。＊「Altキー」＋「F11キー」【3】標準モジュールの「Module1」を選択し、コード(プログラム)を表示します。コードウィンドウには..</description>
            <itunes:summary><![CDATA[
ExcelのVBAで、ユーザー定義関数を作成するメリットの一つが、自由に改良できることです

例えば以下のように、「桁区切り」と、「円」の表示ができるように改良してみましょう。

<a href="http://exvba.up.seesaa.net/image/excel-vba-53.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-53-thumbnail2.gif" width="150" height="89" border="0" alt="excel-vba-53.gif" /></a>


【1】Excelのファイル「gankin.xls」を開きます。

＊マクロを有効にする

ダウンロードしたものでも、あなたが作成したものでもかまいません。


【2】VBEを起動します。

＊「Altキー」＋「F11キー」


【3】標準モジュールの「Module1」を選択し、コード(プログラム)を表示します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-42.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-42-thumbnail2.gif" width="150" height="69" border="0" alt="excel-vba-42.gif" /></a>

コードウィンドウには、ユーザー定義関数の calcGankin() が表示されます。


【4】calcGankin()をコピーして、すぐ下に貼り付けます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-43.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-43-thumbnail2.gif" width="150" height="76" border="0" alt="excel-vba-43.gif" /></a>

でもそのままだと、関数名が重複するのでダメです。

同じ関数名では、コンピューターが区別できないので、エラーになります。


【5】そこで新しいユーザー定義関数を、「calcGankinF」に変更します。関数名を変える場合は、戻り値の部分も変えなくてはなりません。

<a href="http://exvba.up.seesaa.net/image/excel-vba-44.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-44-thumbnail2.gif" width="150" height="35" border="0" alt="excel-vba-44.gif" /></a>

上の図のように2箇所変更してください。


【6】この段階で calcGankinF() を使うと、calcGankin()と全く同じ結果になります。

<a href="http://exvba.up.seesaa.net/image/excel-vba-45.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-45-thumbnail2.gif" width="150" height="90" border="0" alt="excel-vba-45.gif" /></a>

プログラムをコピー＆ペーストしたのですから、当然ですよね。


【7】次は、ユーザー定義関数の戻り値のデータ型を、「String」(文字列型)に変更します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-46.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-46-thumbnail2.gif" width="150" height="35" border="0" alt="excel-vba-46.gif" /></a>

これまでは、Currency(通貨型)だったので、数値を返していましたが、今回は「円」という文字まで含めたいので、String(文字列型)にします。


【8】この段階で calcGankinF() を試すと、小数点以下まで表示されます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-47.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-47-thumbnail2.gif" width="150" height="88" border="0" alt="excel-vba-47.gif" /></a>

これは数値ではなく、文字列なので注意してください。

文字列型にしたことで、通貨型とは表示の仕方が変わったのです。


ここからが改良の本番です。

【9】戻り値を代入する部分を、以下のように変更します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-48.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-48-thumbnail2.gif" width="150" height="34" border="0" alt="excel-vba-48.gif" /></a>


calcGankinF = Format(gankin, "##,##0")


Format関数は既存の関数で、1番目の引数の値(または式)を、2番目の引数の書式にして、その文字列を返します。

つまり桁区切りされた数字が、戻り値になります。数字といっても文字列です。

正確には、「文字列を示すバリアント型(内部処理形式 String の Variant)の値」を返します。

また、ユーザー定義関数の中で、既存の関数を使用できることにも注目してください。


【10】この段階で calcGankinF() を試してみてください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-49.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-49-thumbnail2.gif" width="150" height="89" border="0" alt="excel-vba-49.gif" /></a>

桁区切りされていることがわかります。


【11】次は、プログラムに「円」まで含めてみましょう。

<a href="http://exvba.up.seesaa.net/image/excel-vba-50.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-50-thumbnail2.gif" width="150" height="38" border="0" alt="excel-vba-50.gif" /></a>


calcGankinF = Format(gankin, "##,##0") &amp; "円"


「&amp;」(半角のアンパサンド)は、文字を連結する演算子です。

したがって、Format関数の戻り値の後に「円」が連結されます。

以下のように置き換えてイメージすると、わかりやすいです。

calcGankinF = 250,000 &amp; "円"


このようにプログラミングでは、関数の戻り値を置き換えるイメージが大切です。


【12】それでは、最終的な動作を確認してみましょう。

<a href="http://exvba.up.seesaa.net/image/excel-vba-51.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-51-thumbnail2.gif" width="150" height="79" border="0" alt="excel-vba-51.gif" /></a>

目的通りの結果を得ることができました。


【ワンポイント】
以下のようにプログラムを書けば、金額の前に「\」(円マーク)を付けることも可能です。

＊「\」はWindowsでは円記号のことです。

calcGankinF = "\" &amp; Format(gankin, "##,##0")


<a href="http://exvba.up.seesaa.net/image/excel-vba-52.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-52-thumbnail2.gif" width="150" height="86" border="0" alt="excel-vba-52.gif" /></a>


【補講】
実は今回のような処理は、Excelのワークシート上で、セルの書式や計算式を使っても可能です。

だから「わざわざユーザー定義関数を作るまでもない」と感じるかもしれません。

でもユーザー定義関数なら、数百行～数千行にもなる複雑な処理も可能なのです。

しかも今回のように、ユーザー定義関数をいくつか用意しておけば、関数名を換えるだけで、異なった処理を行ない、戻り値を変化させられます。

これはとても便利なことなのです。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>で、ユーザー定義関数を作成するメリットの一つが、自由に改良できることです<br /><br />例えば以下のように、「桁区切り」と、「円」の表示ができるように改良してみましょう。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-53.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-53-thumbnail2.gif" width="150" height="89" border="0" align="" alt="excel-vba-53.gif" /></a><br /><br /><br />【1】Excelのファイル「gankin.xls」を開きます。<br /><br />＊マクロを有効にする<br /><br />ダウンロードしたものでも、あなたが作成したものでもかまいません。<br /><br /><br />【2】VBEを起動します。<br /><br />＊「Altキー」＋「F11キー」<br /><br /><br />【3】標準モジュールの「Module1」を選択し、コード(プログラム)を表示します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-42.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-42-thumbnail2.gif" width="150" height="69" border="0" align="" alt="excel-vba-42.gif" /></a><br /><br />コードウィンドウには、ユーザー定義関数の calcGankin() が表示されます。<br /><br /><br />【4】calcGankin()をコピーして、すぐ下に貼り付けます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-43.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-43-thumbnail2.gif" width="150" height="76" border="0" align="" alt="excel-vba-43.gif" /></a><br /><br />でもそのままだと、関数名が重複するのでダメです。<br /><br />同じ関数名では、コンピューターが区別できないので、エラーになります。<br /><br /><br />【5】そこで新しいユーザー定義関数を、「calcGankinF」に変更します。関数名を変える場合は、戻り値の部分も変えなくてはなりません。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-44.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-44-thumbnail2.gif" width="150" height="35" border="0" align="" alt="excel-vba-44.gif" /></a><br /><br />上の図のように2箇所変更してください。<br /><br /><br />【6】この段階で calcGankinF() を使うと、calcGankin()と全く同じ結果になります。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-45.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-45-thumbnail2.gif" width="150" height="90" border="0" align="" alt="excel-vba-45.gif" /></a><br /><br />プログラムをコピー＆ペーストしたのですから、当然ですよね。<br /><br /><br />【7】次は、ユーザー定義関数の戻り値のデータ型を、「String」(文字列型)に変更します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-46.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-46-thumbnail2.gif" width="150" height="35" border="0" align="" alt="excel-vba-46.gif" /></a><br /><br />これまでは、Currency(通貨型)だったので、数値を返していましたが、今回は「円」という文字まで含めたいので、String(文字列型)にします。<br /><br /><br />【8】この段階で calcGankinF() を試すと、小数点以下まで表示されます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-47.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-47-thumbnail2.gif" width="150" height="88" border="0" align="" alt="excel-vba-47.gif" /></a><br /><br />これは数値ではなく、文字列なので注意してください。<br /><br />文字列型にしたことで、通貨型とは表示の仕方が変わったのです。<br /><br /><br />ここからが改良の本番です。<br /><br />【9】戻り値を代入する部分を、以下のように変更します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-48.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-48-thumbnail2.gif" width="150" height="34" border="0" align="" alt="excel-vba-48.gif" /></a><br /><br /><div class="pg"><br />calcGankinF = Format(gankin, "##,##0")<br /></div><br /><br />Format関数は既存の関数で、1番目の引数の値(または式)を、2番目の引数の書式にして、その文字列を返します。<br /><br />つまり桁区切りされた数字が、戻り値になります。数字といっても文字列です。<br /><br />正確には、「文字列を示すバリアント型(内部処理形式 String の Variant)の値」を返します。<br /><br />また、ユーザー定義関数の中で、既存の関数を使用できることにも注目してください。<br /><br /><br />【10】この段階で calcGankinF() を試してみてください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-49.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-49-thumbnail2.gif" width="150" height="89" border="0" align="" alt="excel-vba-49.gif" /></a><br /><br />桁区切りされていることがわかります。<br /><br /><br />【11】次は、プログラムに「円」まで含めてみましょう。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-50.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-50-thumbnail2.gif" width="150" height="38" border="0" align="" alt="excel-vba-50.gif" /></a><br /><br /><div class="pg"><br />calcGankinF = Format(gankin, "##,##0") &amp; "円"<br /></div><br /><br />「&amp;」(半角のアンパサンド)は、文字を連結する演算子です。<br /><br />したがって、Format関数の戻り値の後に「円」が連結されます。<br /><br />以下のように置き換えてイメージすると、わかりやすいです。<br /><div class="pg"><br />calcGankinF = 250,000 &amp; "円"<br /></div><br /><br />このようにプログラミングでは、関数の戻り値を置き換えるイメージが大切です。<br /><br /><br />【12】それでは、最終的な動作を確認してみましょう。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-51.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-51-thumbnail2.gif" width="150" height="79" border="0" align="" alt="excel-vba-51.gif" /></a><br /><br />目的通りの結果を得ることができました。<br /><br /><br />【ワンポイント】<br />以下のようにプログラムを書けば、金額の前に「\」(円マーク)を付けることも可能です。<br /><br />＊「\」はWindowsでは円記号のことです。<br /><div class="pg"><br />calcGankinF = "\" &amp; Format(gankin, "##,##0")<br /></div><br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-52.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-52-thumbnail2.gif" width="150" height="86" border="0" align="" alt="excel-vba-52.gif" /></a><br /><br /><br />【補講】<br />実は今回のような処理は、Excelのワークシート上で、セルの書式や計算式を使っても可能です。<br /><br />だから「わざわざユーザー定義関数を作るまでもない」と感じるかもしれません。<br /><br />でもユーザー定義関数なら、数百行～数千行にもなる複雑な処理も可能なのです。<br /><br />しかも今回のように、ユーザー定義関数をいくつか用意しておけば、関数名を換えるだけで、異なった処理を行ない、戻り値を変化させられます。<br /><br />これはとても便利なことなのです。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step9・ユーザー定義関数を改良する</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134494242</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-53.gif" length="15321" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-53.gif" length="15321" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-42.gif" length="33362" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-42.gif" length="33362" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-43.gif" length="12712" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-43.gif" length="12712" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-44.gif" length="4951" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-44.gif" length="4951" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-45.gif" length="16767" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-45.gif" length="16767" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-46.gif" length="4315" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-46.gif" length="4315" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-47.gif" length="17328" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-47.gif" length="17328" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-48.gif" length="5073" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-48.gif" length="5073" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-49.gif" length="16079" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-49.gif" length="16079" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-50.gif" length="4903" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-50.gif" length="4903" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-51.gif" length="16102" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-51.gif" length="16102" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-52.gif" length="16022" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-52.gif" length="16022" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134480599.html</link>
      <title>Excel VBA 標準モジュールのエクスポートとインポートを行なう方法。</title>
      <pubDate>Wed, 02 Dec 2009 06:54:18 +0900</pubDate>
            <description>ExcelのVBAで作成した標準モジュールは、エクスポートしたり、インポートすることが出来ます。標準モジュールをエクスポートすると、ファイルとして保存されます。その保存したファイルを、他のExcelファイル側でインポートすることで、標準モジュールにプログラミングしたユーザー定義関数が、そのまま使えるようになります。それでは、標準モジュールのエクスポートとインポートを実際に行なってみましょう。【1】Excelのファイル「gankin.xls」を開きます。＊マクロを有効にするダウ..</description>
            <itunes:summary><![CDATA[
ExcelのVBAで作成した標準モジュールは、エクスポートしたり、インポートすることが出来ます。

標準モジュールをエクスポートすると、ファイルとして保存されます。

その保存したファイルを、他のExcelファイル側でインポートすることで、標準モジュールにプログラミングしたユーザー定義関数が、そのまま使えるようになります。

それでは、標準モジュールのエクスポートとインポートを実際に行なってみましょう。

【1】Excelのファイル「gankin.xls」を開きます。

＊マクロを有効にする

ダウンロードしたものでも、あなたが作成したものでもかまいません。


【2】VBEを起動します。

＊「Altキー」＋「F11キー」


【3】標準モジュールの「Module1」をマウスで右クリックし、コンテキストメニューが表示されたら、「ファイルのエクスポート」を選択します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-54.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-54-thumbnail2.gif" width="102" height="150" border="0" alt="excel-vba-54.gif" /></a>


【4】「ファイルのエクスポート」ダイアログボックスが表示されたら、ファイル名を確認し、「保存」ボタンをクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-55.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-55-thumbnail2.gif" width="150" height="83" border="0" alt="excel-vba-55.gif" /></a>

ファイル名は変更することもできますが、今回はそのまま保存してください。

また、「保存する場所」もちゃんと覚えておいてください。


【5】保存した場所に「Module1.bas」というファイルが作成されていることを、確認してください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-56.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-56-thumbnail2.gif" width="145" height="72" border="0" alt="excel-vba-56.gif" /></a>


【6】ここで「gankin.xls」は閉じます。


次はインポートする側のExcelファイルです。

【7】新しいExcelファイルを作成します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-57.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-57-thumbnail2.gif" width="150" height="103" border="0" alt="excel-vba-57.gif" /></a>

＊ファイル名は適当でかまいません。


【8】新しいExcelファイルのVBEを起動します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-58.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-58-thumbnail2.gif" width="150" height="136" border="0" alt="excel-vba-58.gif" /></a>

＊「Altキー」＋「F11キー」


【9】プロジェクトエクスプローラ内をマウスで右クリックし、、コンテキストメニューが表示されたら、「ファイルのインポート」を選択します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-59.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-59-thumbnail2.gif" width="125" height="150" border="0" alt="excel-vba-59.gif" /></a>

クリックする場所は、プロジェクトエクスプローラ内なら、どこでもかまいません。


【10】「ファイルのインポート」ダイアログボックスが表示されたら、「Module1.bas」を選択し、「開く」ボタンをクリックします。

<a href="http://exvba.up.seesaa.net/image/excel-vba-60.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-60-thumbnail2.gif" width="150" height="82" border="0" alt="excel-vba-60.gif" /></a>

「ファイルの場所」は、先ほど保存しておいた場所です。


【11】標準モジュールがインポートできました。

<a href="http://exvba.up.seesaa.net/image/excel-vba-61.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-61-thumbnail2.gif" width="136" height="150" border="0" alt="excel-vba-61.gif" /></a>


【12】標準モジュールのコード(プログラム)が、ちゃんと表示されることを確認してください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-62.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-62-thumbnail2.gif" width="150" height="68" border="0" alt="excel-vba-62.gif" /></a>

もしコードが表示されない場合は、プロジェクトエクスプローラで、標準モジュールの「Module1」を選択してから、「コードの表示」ボタンをクリックしてください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-63.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-63-thumbnail2.gif" width="150" height="88" border="0" alt="excel-vba-63.gif" /></a>

または、「Module1」をダブルクリックしても、コードを表示することができます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-64.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-64-thumbnail2.gif" width="150" height="103" border="0" alt="excel-vba-64.gif" /></a>


【13】ここまでの作業を保存してください。

＊VBE側の保存ボタンをクリック


【14】あとは、「gankin.xls」と同じ要領で、ユーザー定義関数が使えるかどうか、動作確認をしてください。

・例

=calcGankin(1000,0.5)



以上のように、標準モジュールのエクスポートとインポートは簡単です。

標準モジュールにユーザー定義関数を作成しておけば、簡単に受け渡しすることができます。

既にデータや計算式が入力されたExcelファイルに機能を追加する場合も、エクスポートとインポートが適しています。

この方法を使えば、あなたが作成したユーザー定義関数を、他の人に利用してもらうことも可能です。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>で作成した標準モジュールは、エクスポートしたり、インポートすることが出来ます。<br /><br />標準モジュールをエクスポートすると、ファイルとして保存されます。<br /><br />その保存したファイルを、他のExcelファイル側でインポートすることで、標準モジュールにプログラミングしたユーザー定義関数が、そのまま使えるようになります。<br /><br />それでは、標準モジュールのエクスポートとインポートを実際に行なってみましょう。<br /><br />【1】Excelのファイル「gankin.xls」を開きます。<br /><br />＊マクロを有効にする<br /><br />ダウンロードしたものでも、あなたが作成したものでもかまいません。<br /><br /><br />【2】VBEを起動します。<br /><br />＊「Altキー」＋「F11キー」<br /><br /><br />【3】標準モジュールの「Module1」をマウスで右クリックし、コンテキストメニューが表示されたら、「ファイルのエクスポート」を選択します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-54.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-54-thumbnail2.gif" width="102" height="150" border="0" align="" alt="excel-vba-54.gif" /></a><br /><br /><br />【4】「ファイルのエクスポート」ダイアログボックスが表示されたら、ファイル名を確認し、「保存」ボタンをクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-55.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-55-thumbnail2.gif" width="150" height="83" border="0" align="" alt="excel-vba-55.gif" /></a><br /><br />ファイル名は変更することもできますが、今回はそのまま保存してください。<br /><br />また、「保存する場所」もちゃんと覚えておいてください。<br /><br /><br />【5】保存した場所に「Module1.bas」というファイルが作成されていることを、確認してください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-56.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-56-thumbnail2.gif" width="145" height="72" border="0" align="" alt="excel-vba-56.gif" /></a><br /><br /><br />【6】ここで「gankin.xls」は閉じます。<br /><br /><br />次はインポートする側のExcelファイルです。<br /><br />【7】新しいExcelファイルを作成します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-57.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-57-thumbnail2.gif" width="150" height="103" border="0" align="" alt="excel-vba-57.gif" /></a><br /><br />＊ファイル名は適当でかまいません。<br /><br /><br />【8】新しいExcelファイルのVBEを起動します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-58.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-58-thumbnail2.gif" width="150" height="136" border="0" align="" alt="excel-vba-58.gif" /></a><br /><br />＊「Altキー」＋「F11キー」<br /><br /><br />【9】プロジェクトエクスプローラ内をマウスで右クリックし、、コンテキストメニューが表示されたら、「ファイルのインポート」を選択します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-59.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-59-thumbnail2.gif" width="125" height="150" border="0" align="" alt="excel-vba-59.gif" /></a><br /><br />クリックする場所は、プロジェクトエクスプローラ内なら、どこでもかまいません。<br /><br /><br />【10】「ファイルのインポート」ダイアログボックスが表示されたら、「Module1.bas」を選択し、「開く」ボタンをクリックします。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-60.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-60-thumbnail2.gif" width="150" height="82" border="0" align="" alt="excel-vba-60.gif" /></a><br /><br />「ファイルの場所」は、先ほど保存しておいた場所です。<br /><br /><br />【11】標準モジュールがインポートできました。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-61.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-61-thumbnail2.gif" width="136" height="150" border="0" align="" alt="excel-vba-61.gif" /></a><br /><br /><br />【12】標準モジュールのコード(プログラム)が、ちゃんと表示されることを確認してください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-62.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-62-thumbnail2.gif" width="150" height="68" border="0" align="" alt="excel-vba-62.gif" /></a><br /><br />もしコードが表示されない場合は、プロジェクトエクスプローラで、標準モジュールの「Module1」を選択してから、「コードの表示」ボタンをクリックしてください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-63.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-63-thumbnail2.gif" width="150" height="88" border="0" align="" alt="excel-vba-63.gif" /></a><br /><br />または、「Module1」をダブルクリックしても、コードを表示することができます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-64.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-64-thumbnail2.gif" width="150" height="103" border="0" align="" alt="excel-vba-64.gif" /></a><br /><br /><br />【13】ここまでの作業を保存してください。<br /><br />＊VBE側の保存ボタンをクリック<br /><br /><br />【14】あとは、「gankin.xls」と同じ要領で、ユーザー定義関数が使えるかどうか、動作確認をしてください。<br /><br />・例<br /><div class="pg"><br />=calcGankin(1000,0.5)<br /></div><br /><br /><br />以上のように、標準モジュールのエクスポートとインポートは簡単です。<br /><br />標準モジュールにユーザー定義関数を作成しておけば、簡単に受け渡しすることができます。<br /><br />既にデータや計算式が入力されたExcelファイルに機能を追加する場合も、エクスポートとインポートが適しています。<br /><br />この方法を使えば、あなたが作成したユーザー定義関数を、他の人に利用してもらうことも可能です。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step8・エクスポートとインポート</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134480599</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-54.gif" length="25381" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-54.gif" length="25381" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-55.gif" length="15241" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-55.gif" length="15241" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-56.gif" length="4110" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-56.gif" length="4110" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-57.gif" length="15518" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-57.gif" length="15518" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-58.gif" length="23121" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-58.gif" length="23121" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-59.gif" length="28661" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-59.gif" length="28661" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-60.gif" length="16496" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-60.gif" length="16496" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-61.gif" length="23394" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-61.gif" length="23394" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-62.gif" length="32700" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-62.gif" length="32700" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-63.gif" length="11503" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-63.gif" length="11503" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-64.gif" length="11426" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-64.gif" length="11426" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134389017.html</link>
      <title>作成した標準モジュールを、他のExcelファイルでも利用するには？</title>
      <pubDate>Tue, 01 Dec 2009 07:22:09 +0900</pubDate>
            <description>ExcelのVBAで、標準モジュールに作成したユーザー定義関数は、そのExcelファイル(Book)内だけで有効です。したがって、他のExcelファイルで今回のユーザー定義関数を使おうとしても、エラーになります。新しいExcelファイルを作成して、試してみてください。↓このようなエラーが表示されるはずです。何故なら、新しいExcelファイルには、ユーザー定義関数がプログラムされていないからです。このことから、ユーザー定義関数は、Excelファイル(Book)ごとに管理されてい..</description>
            <itunes:summary><![CDATA[
ExcelのVBAで、標準モジュールに作成したユーザー定義関数は、そのExcelファイル(Book)内だけで有効です。

したがって、他のExcelファイルで今回のユーザー定義関数を使おうとしても、エラーになります。

新しいExcelファイルを作成して、試してみてください。

↓このようなエラーが表示されるはずです。
<a href="http://exvba.up.seesaa.net/image/excel-vba-19.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-19-thumbnail2.gif" width="150" height="85" border="0" alt="excel-vba-19.gif" /></a>

何故なら、新しいExcelファイルには、ユーザー定義関数がプログラムされていないからです。

このことから、ユーザー定義関数は、Excelファイル(Book)ごとに管理されていることがわかります。

もし新しいExcelファイルでも同じユーザー定義関数を使いたい場合は、以下のような方法があります。

(1)ファイルごとコピーする。
(2)新しいファイルで、新たにユーザー定義関数を作成する。
(3)標準モジュールをインポートする。

一番簡単なのは(1)です。

ユーザー定義関数が含まれているExcelファイルをコピーすると、プログラムもコピーされるので、そのまま使うことができます。

(2)の方法は、手間がかかるので、あまりおすすめできません。

また、既にExcelファイルがあり、データがある程度入力されている場合は、(3)の方法が適しています。

入力済みのデータや計算式が、そのまま使えるからです。

標準モジュールはエクスポートしたり、インポートすることができます。標準モジュールにプログラムを書いておけば、他のファイルで使うことは簡単です。

どの方法が適しているかは、入力済みのデータや計算式を移動したほうが簡単なのか、それともプログラム側をインポートしたほうが簡単なのかで判断してください。

次回は標準モジュールのエクスポートとインポートについて解説します。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>で、標準モジュールに作成したユーザー定義関数は、そのExcelファイル(Book)内だけで有効です。<br /><br />したがって、他のExcelファイルで今回のユーザー定義関数を使おうとしても、エラーになります。<br /><br />新しいExcelファイルを作成して、試してみてください。<br /><br />↓このようなエラーが表示されるはずです。<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-19.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-19-thumbnail2.gif" width="150" height="85" border="0" align="" alt="excel-vba-19.gif" /></a><br /><br />何故なら、新しいExcelファイルには、ユーザー定義関数がプログラムされていないからです。<br /><br />このことから、ユーザー定義関数は、Excelファイル(Book)ごとに管理されていることがわかります。<br /><br />もし新しいExcelファイルでも同じユーザー定義関数を使いたい場合は、以下のような方法があります。<br /><br />(1)ファイルごとコピーする。<br />(2)新しいファイルで、新たにユーザー定義関数を作成する。<br />(3)標準モジュールをインポートする。<br /><br />一番簡単なのは(1)です。<br /><br />ユーザー定義関数が含まれているExcelファイルをコピーすると、プログラムもコピーされるので、そのまま使うことができます。<br /><br />(2)の方法は、手間がかかるので、あまりおすすめできません。<br /><br />また、既にExcelファイルがあり、データがある程度入力されている場合は、(3)の方法が適しています。<br /><br />入力済みのデータや計算式が、そのまま使えるからです。<br /><br />標準モジュールはエクスポートしたり、インポートすることができます。標準モジュールにプログラムを書いておけば、他のファイルで使うことは簡単です。<br /><br />どの方法が適しているかは、入力済みのデータや計算式を移動したほうが簡単なのか、それともプログラム側をインポートしたほうが簡単なのかで判断してください。<br /><br />次回は標準モジュールのエクスポートとインポートについて解説します。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step7・他のExcelファイルで使うには？</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134389017</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-19.gif" length="16612" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-19.gif" length="16612" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134293651.html</link>
      <title>Excel VBA 標準モジュールは、複数作成することができます。</title>
      <pubDate>Mon, 30 Nov 2009 06:18:04 +0900</pubDate>
            <description>Excelで標準モジュールを作成(挿入)する時には、複数作ることが可能です。試しにもう一つ標準モジュールを作成してみてください。複数の標準モジュールを作成すると、役割ごとにユーザー定義関数を分類できるので、とても便利です。また標準モジュール名は、連番で自動的に付けられます。もちろん自由に変えることもできます。標準モジュールの名前を変更するには、プロジェクトエクスプローラで、対象となる標準モジュールを選択し、プロパティで「オブジェクト名」を変更します。でも今回は名前を変更せずに..</description>
            <itunes:summary><![CDATA[
Excelで標準モジュールを作成(挿入)する時には、複数作ることが可能です。

試しにもう一つ標準モジュールを作成してみてください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-41.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-41-thumbnail2.gif" width="150" height="101" border="0" alt="excel-vba-41.gif" /></a>

複数の標準モジュールを作成すると、役割ごとにユーザー定義関数を分類できるので、とても便利です。

また標準モジュール名は、連番で自動的に付けられます。もちろん自由に変えることもできます。

標準モジュールの名前を変更するには、プロジェクトエクスプローラで、対象となる標準モジュールを選択し、プロパティで「オブジェクト名」を変更します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-36.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-36-thumbnail2.gif" width="112" height="150" border="0" alt="excel-vba-36.gif" /></a>

でも今回は名前を変更せずに、そのままにしておいてください。

これまで標準モジュールに作成したユーザー定義関数を利用するには、以下のように呼び出しました。


=calcGankin(1000,0.5)


でも正確には、次のように書きます。

=Module1.calcGankin(1000,0.5)


この二つの違いは、関数名の前に「標準モジュール名.」があるかどうかだけです。

calcGankin()という関数は、一つしか無いので、標準モジュール名を省略できたわけです。

実は標準モジュールが複数ある場合は、同じ名前のユーザー定義関数を作成できます。

まったく同じ関数名で、異なった処理を行ない、戻り値を返すことも可能です。

そうなると関数名だけでは、どちらの関数を指しているかわかりません。そこで必ず標準モジュール名から指定して、区別する必要があります。

同じ関数名を作らなければ、標準モジュール名を省略しても大丈夫です。

Excelの既存の関数と同じ名前も避けたほうが無難です。

でもあえて既存の関数名と同じにして、使いやすいように独自の関数をVBAで定義する手もあります。

例えば COUNT() という関数は既にありますが、標準モジュールを使って、独自に定義することが可能です。そんな時は、もちろん標準モジュールから指定します。

また不要になった標準モジュールは、削除(解放)することができます。

削除したい標準モジュールをマウスで右クリックし、コンテキストメニューから、「Module の解放」を選択します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-38.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-38-thumbnail2.gif" width="122" height="150" border="0" alt="excel-vba-38.gif" /></a>

するとModuleをエクスポートするかどうかのメッセージが表示されるので、「いいえ」を選択します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-39.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-39-thumbnail2.gif" width="150" height="51" border="0" alt="excel-vba-39.gif" /></a>


【ワンポイント】
標準モジュールを解放する時に、「はい」を選択すると、ファイルとしてエクスポートすることが出来ます。

エクスポートしたファイルは、別のExcelにインポートすることが可能です。

あなたが作成した標準モジュールを、他の人にも利用させてあげたい時に便利です。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>で標準モジュールを作成(挿入)する時には、複数作ることが可能です。<br /><br />試しにもう一つ標準モジュールを作成してみてください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-41.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-41-thumbnail2.gif" width="150" height="101" border="0" align="" alt="excel-vba-41.gif" /></a><br /><br />複数の標準モジュールを作成すると、役割ごとにユーザー定義関数を分類できるので、とても便利です。<br /><br />また標準モジュール名は、連番で自動的に付けられます。もちろん自由に変えることもできます。<br /><br />標準モジュールの名前を変更するには、プロジェクトエクスプローラで、対象となる標準モジュールを選択し、プロパティで「オブジェクト名」を変更します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-36.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-36-thumbnail2.gif" width="112" height="150" border="0" align="" alt="excel-vba-36.gif" /></a><br /><br />でも今回は名前を変更せずに、そのままにしておいてください。<br /><br />これまで標準モジュールに作成したユーザー定義関数を利用するには、以下のように呼び出しました。<br /><br /><div class="pg"><br />=calcGankin(1000,0.5)<br /></div><br /><br />でも正確には、次のように書きます。<br /><div class="pg"><br />=Module1.calcGankin(1000,0.5)<br /></div><br /><br />この二つの違いは、関数名の前に「標準モジュール名.」があるかどうかだけです。<br /><br />calcGankin()という関数は、一つしか無いので、標準モジュール名を省略できたわけです。<br /><br />実は標準モジュールが複数ある場合は、同じ名前のユーザー定義関数を作成できます。<br /><br />まったく同じ関数名で、異なった処理を行ない、戻り値を返すことも可能です。<br /><br />そうなると関数名だけでは、どちらの関数を指しているかわかりません。そこで必ず標準モジュール名から指定して、区別する必要があります。<br /><br />同じ関数名を作らなければ、標準モジュール名を省略しても大丈夫です。<br /><br />Excelの既存の関数と同じ名前も避けたほうが無難です。<br /><br />でもあえて既存の関数名と同じにして、使いやすいように独自の関数をVBAで定義する手もあります。<br /><br />例えば COUNT() という関数は既にありますが、標準モジュールを使って、独自に定義することが可能です。そんな時は、もちろん標準モジュールから指定します。<br /><br />また不要になった標準モジュールは、削除(解放)することができます。<br /><br />削除したい標準モジュールをマウスで右クリックし、コンテキストメニューから、「Module の解放」を選択します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-38.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-38-thumbnail2.gif" width="122" height="150" border="0" align="" alt="excel-vba-38.gif" /></a><br /><br />するとModuleをエクスポートするかどうかのメッセージが表示されるので、「いいえ」を選択します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-39.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-39-thumbnail2.gif" width="150" height="51" border="0" align="" alt="excel-vba-39.gif" /></a><br /><br /><br />【ワンポイント】<br />標準モジュールを解放する時に、「はい」を選択すると、ファイルとしてエクスポートすることが出来ます。<br /><br />エクスポートしたファイルは、別のExcelにインポートすることが可能です。<br /><br />あなたが作成した標準モジュールを、他の人にも利用させてあげたい時に便利です。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step6・標準モジュールは複数作成できる</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134293651</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-41.gif" length="10977" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-41.gif" length="10977" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-36.gif" length="20499" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-36.gif" length="20499" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-38.gif" length="22388" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-38.gif" length="22388" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-39.gif" length="11446" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-39.gif" length="11446" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134111250.html</link>
      <title>Excelで標準モジュールにユーザー定義関数を作成するには？</title>
      <pubDate>Sat, 28 Nov 2009 07:35:11 +0900</pubDate>
            <description>Excelのワークシート上から呼び出して使えるユーザー定義関数を作成するには、標準モジュールにVBAでプログラムを書く必要があります。前回までは、ダウンロードしたファイルを使用していました。理由は、最初にユーザー定義関数が便利なことを、実感していただきたかったからです。そのため順番が逆になってしまいましたが、標準モジュールにユーザー定義関数を作成する方法について説明します。今回はダウンロードしたExcelのファイル「gankin.xls」を使わずに、新たにファイルを作成します..</description>
            <itunes:summary><![CDATA[
Excelのワークシート上から呼び出して使えるユーザー定義関数を作成するには、標準モジュールにVBAでプログラムを書く必要があります。

前回までは、ダウンロードしたファイルを使用していました。理由は、最初にユーザー定義関数が便利なことを、実感していただきたかったからです。

そのため順番が逆になってしまいましたが、標準モジュールにユーザー定義関数を作成する方法について説明します。

今回はダウンロードしたExcelのファイル「gankin.xls」を使わずに、新たにファイルを作成します。


【1】新たにExcelのファイル「gankin.xls」を作成します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-26.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-26-thumbnail2.gif" width="150" height="47" border="0" alt="excel-vba-26.gif" /></a>


【2】新たに作成したファイル「gankin.xls」を開きます。

＊ダウンロードしたファイルではないので、注意してください。


【3】「gankin.xls」が開きました。

<a href="http://exvba.up.seesaa.net/image/excel-vba-27.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-27-thumbnail2.gif" width="143" height="150" border="0" alt="excel-vba-27.gif" /></a>

もちろんこの状態では、通常のExcelファイル(Book)と変わりません。


【4】VBEを起動します。

＊「Altキー」＋「F11キー」


【5】「gankin.xls」のVBE画面が表示されました。

<a href="http://exvba.up.seesaa.net/image/excel-vba-28.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-28-thumbnail2.gif" width="150" height="117" border="0" alt="excel-vba-28.gif" /></a>

この画面を使って、プログラミングを行ないます。

VBEとは、Visual Basic Editor の略で、統合開発環境のことです。VBEは Microsoft社の Office製品で、共通して使えます。


【6】プロジェクトエクスプローラには、まだ標準モジュールがありません。

<a href="http://exvba.up.seesaa.net/image/excel-vba-29.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-29-thumbnail2.gif" width="150" height="103" border="0" alt="excel-vba-29.gif" /></a>


【7】プロジェクトエクスプローラ内をマウスで右クリックし、コンテキストメニューが表示されたら、「挿入 → 標準モジュール」を選択します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-30.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-30-thumbnail2.gif" width="150" height="115" border="0" alt="excel-vba-30.gif" /></a>

プロジェクトエクスプローラ内なら、どこでもかまいません。

またVBEのメニューからでも、標準モジュールが作成できます。

・「挿入 → 標準モジュール」
<a href="http://exvba.up.seesaa.net/image/excel-vba-31.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-31-thumbnail2.gif" width="150" height="102" border="0" alt="excel-vba-31.gif" /></a>

結果は同じなので、好きな方法を覚えてください。


【8】プロジェクトエクスプローラ内に「Module1」という標準モジュールが作成されました。

<a href="http://exvba.up.seesaa.net/image/excel-vba-32.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-32-thumbnail2.gif" width="150" height="84" border="0" alt="excel-vba-32.gif" /></a>

標準モジュールは複数作成できるので、階層構造になっている点に注目してください。

またVBEの画面右側には、「コードウィンドウ」が表示されます。

これは「Module1」に対してのコードウィンドウです。今、プロジェクトエクスプローラでは、「Module1」が選択されているはずです。

ここにVBAでユーザー定義関数を作成します。

標準モジュールとは、名前の通り、標準のプログラムのことです。

標準モジュールに作成したプログラムは、他のプロシージャやExcelのワークシートから、共通して使うことができます。


【9】コードウィンドウに「Option Explicit」が表示されていますか？

<a href="http://exvba.up.seesaa.net/image/excel-vba-33.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-33-thumbnail2.gif" width="150" height="57" border="0" alt="excel-vba-33.gif" /></a>

もし表示されていない場合は、加えてください。

最初から表示されるかどうかは、Excelの設定によります。加えれば問題ありません。

Option Explicitは、変数の宣言を強制するためのものです。

この1行を加えると、プログラムの中で変数を使う時には、必ず宣言が必要になります。

変数を宣言することで、バグ(誤り)の入り込む余地が減りますから、必ず加えるようにしてください。


【10】以下の図のように、VBAプログラムを入力してください。

<a href="http://exvba.up.seesaa.net/image/excel-vba-34.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-34-thumbnail2.gif" width="150" height="50" border="0" alt="excel-vba-34.gif" /></a>


Public Function calcGankin(risoku As Long, kinri As Single) As Currency
&nbsp;&nbsp;Dim gankin As Currency
&nbsp;&nbsp;Const TAX As Single = 0.2
&nbsp;&nbsp;
&nbsp;&nbsp;gankin = risoku / ((kinri / 100) * (1 - TAX))
&nbsp;&nbsp;calcGankin = gankin
&nbsp;&nbsp;
End Function


このプログラムは、ダウンロードしたファイルの内容と、全く同じものです。


【11】ここまでの作業を「保存」しましょう。

<a href="http://exvba.up.seesaa.net/image/excel-vba-35.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-35-thumbnail2.gif" width="150" height="118" border="0" alt="excel-vba-35.gif" /></a>

VBEで行なった作業は、VBE側で保存します。Excel側の保存とは別なので、注意してください。

以上でプログラムは完成です。


【12】あとはダウンロードしたファイルの時と同様に、Excelのワークシート上で、動作確認してください。

セルに以下のような計算式を入力してください。

・例

=calcGankin(1000,0.5)


=calcGankin(5000,1.2)


=calcGankin(80000,0.85)



【ワンポイント】
Excelのファイルを一度閉じ、再度開く時には、既にプログラムを書いたので、メッセージが表示されるようになります。

<a href="http://exvba.up.seesaa.net/image/excel-vba-40.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-40-thumbnail2.gif" width="150" height="69" border="0" alt="excel-vba-40.gif" /></a>

このプログラム(マクロ)は、あなた自身で作成したものなので安心です。「マクロを有効にする」を選択してください。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>のワークシート上から呼び出して使えるユーザー定義関数を作成するには、標準モジュールに<strong>VBA</strong>でプログラムを書く必要があります。<br /><br />前回までは、ダウンロードしたファイルを使用していました。理由は、最初にユーザー定義関数が便利なことを、実感していただきたかったからです。<br /><br />そのため順番が逆になってしまいましたが、標準モジュールにユーザー定義関数を作成する方法について説明します。<br /><br />今回はダウンロードしたExcelのファイル「gankin.xls」を使わずに、新たにファイルを作成します。<br /><br /><br />【1】新たにExcelのファイル「gankin.xls」を作成します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-26.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-26-thumbnail2.gif" width="150" height="47" border="0" align="" alt="excel-vba-26.gif" /></a><br /><br /><br />【2】新たに作成したファイル「gankin.xls」を開きます。<br /><br />＊ダウンロードしたファイルではないので、注意してください。<br /><br /><br />【3】「gankin.xls」が開きました。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-27.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-27-thumbnail2.gif" width="143" height="150" border="0" align="" alt="excel-vba-27.gif" /></a><br /><br />もちろんこの状態では、通常のExcelファイル(Book)と変わりません。<br /><br /><br />【4】VBEを起動します。<br /><br />＊「Altキー」＋「F11キー」<br /><br /><br />【5】「gankin.xls」のVBE画面が表示されました。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-28.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-28-thumbnail2.gif" width="150" height="117" border="0" align="" alt="excel-vba-28.gif" /></a><br /><br />この画面を使って、プログラミングを行ないます。<br /><br />VBEとは、Visual Basic Editor の略で、統合開発環境のことです。VBEは Microsoft社の Office製品で、共通して使えます。<br /><br /><br />【6】プロジェクトエクスプローラには、まだ標準モジュールがありません。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-29.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-29-thumbnail2.gif" width="150" height="103" border="0" align="" alt="excel-vba-29.gif" /></a><br /><br /><br />【7】プロジェクトエクスプローラ内をマウスで右クリックし、コンテキストメニューが表示されたら、「挿入 → 標準モジュール」を選択します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-30.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-30-thumbnail2.gif" width="150" height="115" border="0" align="" alt="excel-vba-30.gif" /></a><br /><br />プロジェクトエクスプローラ内なら、どこでもかまいません。<br /><br />またVBEのメニューからでも、標準モジュールが作成できます。<br /><br />・「挿入 → 標準モジュール」<br /><a href="http://exvba.up.seesaa.net/image/excel-vba-31.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-31-thumbnail2.gif" width="150" height="102" border="0" align="" alt="excel-vba-31.gif" /></a><br /><br />結果は同じなので、好きな方法を覚えてください。<br /><br /><br />【8】プロジェクトエクスプローラ内に「Module1」という標準モジュールが作成されました。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-32.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-32-thumbnail2.gif" width="150" height="84" border="0" align="" alt="excel-vba-32.gif" /></a><br /><br />標準モジュールは複数作成できるので、階層構造になっている点に注目してください。<br /><br />またVBEの画面右側には、「コードウィンドウ」が表示されます。<br /><br />これは「Module1」に対してのコードウィンドウです。今、プロジェクトエクスプローラでは、「Module1」が選択されているはずです。<br /><br />ここにVBAでユーザー定義関数を作成します。<br /><br />標準モジュールとは、名前の通り、標準のプログラムのことです。<br /><br />標準モジュールに作成したプログラムは、他のプロシージャやExcelのワークシートから、共通して使うことができます。<br /><br /><br />【9】コードウィンドウに「Option Explicit」が表示されていますか？<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-33.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-33-thumbnail2.gif" width="150" height="57" border="0" align="" alt="excel-vba-33.gif" /></a><br /><br />もし表示されていない場合は、加えてください。<br /><br />最初から表示されるかどうかは、Excelの設定によります。加えれば問題ありません。<br /><br />Option Explicitは、変数の宣言を強制するためのものです。<br /><br />この1行を加えると、プログラムの中で変数を使う時には、必ず宣言が必要になります。<br /><br />変数を宣言することで、バグ(誤り)の入り込む余地が減りますから、必ず加えるようにしてください。<br /><br /><br />【10】以下の図のように、VBAプログラムを入力してください。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-34.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-34-thumbnail2.gif" width="150" height="50" border="0" align="" alt="excel-vba-34.gif" /></a><br /><br /><div class="pg"><br />Public Function calcGankin(risoku As Long, kinri As Single) As Currency<br />&nbsp;&nbsp;Dim gankin As Currency<br />&nbsp;&nbsp;Const TAX As Single = 0.2<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;gankin = risoku / ((kinri / 100) * (1 - TAX))<br />&nbsp;&nbsp;calcGankin = gankin<br />&nbsp;&nbsp;<br />End Function<br /></div><br /><br />このプログラムは、ダウンロードしたファイルの内容と、全く同じものです。<br /><br /><br />【11】ここまでの作業を「保存」しましょう。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-35.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-35-thumbnail2.gif" width="150" height="118" border="0" align="" alt="excel-vba-35.gif" /></a><br /><br />VBEで行なった作業は、VBE側で保存します。Excel側の保存とは別なので、注意してください。<br /><br />以上でプログラムは完成です。<br /><br /><br />【12】あとはダウンロードしたファイルの時と同様に、Excelのワークシート上で、動作確認してください。<br /><br />セルに以下のような計算式を入力してください。<br /><br />・例<br /><div class="pg"><br />=calcGankin(1000,0.5)<br /></div><br /><div class="pg"><br />=calcGankin(5000,1.2)<br /></div><br /><div class="pg"><br />=calcGankin(80000,0.85)<br /></div><br /><br /><br />【ワンポイント】<br />Excelのファイルを一度閉じ、再度開く時には、既にプログラムを書いたので、メッセージが表示されるようになります。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-40.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-40-thumbnail2.gif" width="150" height="69" border="0" align="" alt="excel-vba-40.gif" /></a><br /><br />このプログラム(マクロ)は、あなた自身で作成したものなので安心です。「マクロを有効にする」を選択してください。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step5・標準モジュールを作成する</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134111250</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-26.gif" length="3015" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-26.gif" length="3015" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-27.gif" length="35097" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-27.gif" length="35097" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-28.gif" length="23059" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-28.gif" length="23059" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-29.gif" length="10421" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-29.gif" length="10421" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-30.gif" length="30497" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-30.gif" length="30497" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-31.gif" length="21567" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-31.gif" length="21567" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-32.gif" length="34062" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-32.gif" length="34062" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-33.gif" length="4038" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-33.gif" length="4038" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-34.gif" length="8898" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-34.gif" length="8898" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-35.gif" length="25723" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-35.gif" length="25723" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-40.gif" length="13944" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-40.gif" length="13944" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/134026172.html</link>
      <title>Excel VBA ユーザー定義関数は、計算式の中でも使えます。</title>
      <pubDate>Fri, 27 Nov 2009 07:40:24 +0900</pubDate>
            <description>ExcelのVBAでプログラミングした「ユーザー定義関数」は、計算式の中でも使うことができます。既存の関数も同じです。これはプログラミングで重要なことなので、図を交えて詳しく説明します。まずは以下の手順で、動作を確認してください。【1】ダウンロードしたExcelのファイル「gankin.xls」を開きます。＊マクロを有効にする【2】ワークシート上で、適当なセルを選択します。【3】セルの「数式の編集」に、以下のような計算式を入力します。・例=1000 + calcGankin(..</description>
            <itunes:summary><![CDATA[
ExcelのVBAでプログラミングした「ユーザー定義関数」は、計算式の中でも使うことができます。既存の関数も同じです。

これはプログラミングで重要なことなので、図を交えて詳しく説明します。

まずは以下の手順で、動作を確認してください。

【1】ダウンロードしたExcelのファイル「gankin.xls」を開きます。

＊マクロを有効にする


【2】ワークシート上で、適当なセルを選択します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-22.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-22-thumbnail2.gif" width="150" height="98" border="0" alt="excel-vba-22.gif" /></a>


【3】セルの「数式の編集」に、以下のような計算式を入力します。

<a href="http://exvba.up.seesaa.net/image/excel-vba-23.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-23-thumbnail2.gif" width="150" height="71" border="0" alt="excel-vba-23.gif" /></a>

・例

=1000 + calcGankin(1000,0.5) + 1000


計算式の中に関数が含まれていることがポイントです。


【4】実行すると、計算結果が出ます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-24.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-24-thumbnail2.gif" width="150" height="82" border="0" alt="excel-vba-24.gif" /></a>

結果は 252000 になります。正確には 252000.0009 です。


【5】小数点以下の表示桁数を変更すると、正確な値が出てきます。

<a href="http://exvba.up.seesaa.net/image/excel-vba-25.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-25-thumbnail2.gif" width="150" height="66" border="0" alt="excel-vba-25.gif" /></a>


以上のことから、ユーザー定義関数が、計算式の中でも使えることがわかりました。

もちろん既存の関数も計算式の中で使うことができます。
＊戻り値が数式で使える値なら


【解説】
Functionプロシージャ(関数プロシージャ)は、戻り値を返すことを前に説明しました。

つまり関数は、結果として値が返って来るので、計算式の中でも使えるのです。

でもプログラミング初心者は、イメージし難いと思うので、以下のように考えてください。

関数の部分が、戻り値の数値に置き換わると考えるとわかりやすいです。

=1000 + 250000 + 1000


この「置き換わる」という感覚を掴むことは、プログラミングでは大事です。

関数と戻り値の関係がわかれば、プログラムを読むのが、だいぶ楽になります。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>の<strong>VBA</strong>でプログラミングした「ユーザー定義関数」は、計算式の中でも使うことができます。既存の関数も同じです。<br /><br />これはプログラミングで重要なことなので、図を交えて詳しく説明します。<br /><br />まずは以下の手順で、動作を確認してください。<br /><br />【1】ダウンロードしたExcelのファイル「gankin.xls」を開きます。<br /><br />＊マクロを有効にする<br /><br /><br />【2】ワークシート上で、適当なセルを選択します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-22.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-22-thumbnail2.gif" width="150" height="98" border="0" align="" alt="excel-vba-22.gif" /></a><br /><br /><br />【3】セルの「数式の編集」に、以下のような計算式を入力します。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-23.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-23-thumbnail2.gif" width="150" height="71" border="0" align="" alt="excel-vba-23.gif" /></a><br /><br />・例<br /><div class="pg"><br />=1000 + calcGankin(1000,0.5) + 1000<br /></div><br /><br />計算式の中に関数が含まれていることがポイントです。<br /><br /><br />【4】実行すると、計算結果が出ます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-24.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-24-thumbnail2.gif" width="150" height="82" border="0" align="" alt="excel-vba-24.gif" /></a><br /><br />結果は 252000 になります。正確には 252000.0009 です。<br /><br /><br />【5】小数点以下の表示桁数を変更すると、正確な値が出てきます。<br /><br /><a href="http://exvba.up.seesaa.net/image/excel-vba-25.gif" target="_blank"><img src="http://exvba.up.seesaa.net/image/excel-vba-25-thumbnail2.gif" width="150" height="66" border="0" align="" alt="excel-vba-25.gif" /></a><br /><br /><br />以上のことから、ユーザー定義関数が、計算式の中でも使えることがわかりました。<br /><br />もちろん既存の関数も計算式の中で使うことができます。<br />＊戻り値が数式で使える値なら<br /><br /><br />【解説】<br />Functionプロシージャ(関数プロシージャ)は、戻り値を返すことを前に説明しました。<br /><br />つまり関数は、結果として値が返って来るので、計算式の中でも使えるのです。<br /><br />でもプログラミング初心者は、イメージし難いと思うので、以下のように考えてください。<br /><br />関数の部分が、戻り値の数値に置き換わると考えるとわかりやすいです。<br /><div class="pg"><br />=1000 + 250000 + 1000<br /></div><br /><br />この「置き換わる」という感覚を掴むことは、プログラミングでは大事です。<br /><br />関数と戻り値の関係がわかれば、プログラムを読むのが、だいぶ楽になります。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Step4・関数は計算式の中でも使える</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/134026172</guid>
            <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-22.gif" length="16128" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-22.gif" length="16128" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-23.gif" length="16851" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-23.gif" length="16851" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-24.gif" length="15644" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-24.gif" length="15644" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-25.gif" length="17173" type="image/gif" />
                  <enclosure url="https://exvba.up.seesaa.net/image/excel-vba-25.gif" length="17173" type="image/gif" />
                      </item>
        <item>
      <link>http://exvba.officehp.com/article/133945036.html</link>
      <title>ExcelのVBAプログラムで、メールを送受信する方法。</title>
      <pubDate>Thu, 26 Nov 2009 10:40:31 +0900</pubDate>
            <description>ExcelでVBAプログラミングを行なうと、メールを送信したり、受信できるようになります。普段よく使っているExcelからメールが送受信できるのは、とても画期的なことです。たぶん今より、Excelの活用範囲が、10倍以上は確実に広がります。100倍と言っても過言ではないかもしれません。そこで、プログラミング初心者向けに無料Web講座を用意したので、ぜひご活用ください。・メール送信・受信プログラミング初心者入門(Excel版)この講座は、VBAプログラミングの基礎から学べるよう..</description>
            <itunes:summary><![CDATA[
ExcelでVBAプログラミングを行なうと、メールを送信したり、受信できるようになります。

普段よく使っているExcelからメールが送受信できるのは、とても画期的なことです。

たぶん今より、Excelの活用範囲が、10倍以上は確実に広がります。100倍と言っても過言ではないかもしれません。

そこで、プログラミング初心者向けに無料Web講座を用意したので、ぜひご活用ください。

・<a href="http://mailpg.pgtop.net/" target="_blank">メール送信・受信プログラミング初心者入門(Excel版)</a>

この講座は、VBAプログラミングの基礎から学べるように工夫しているので、プログラミング初心者でも大丈夫です。

Excelを今より活用できて、しかもVBAプログラミングの基礎まで学べるのですから、一石二鳥です。

Excelの良さは、何といってもワークシートが編集しやすいことです。初心者でも数時間あれば、使い方を学べます。

また、データをワークシートのセルに簡単に保存できることも、大きなメリットです。

Excelなら編集が簡単で、一覧性があるので、メールアドレスや氏名などの管理がとても楽です。

このExcelの良さを、メールの送受信に取り入れたのが、上記の講座です。

講座を学ぶとすぐに気付きますが、ワークシートの列に並べたメールアドレスに対して、一括してメールを送信できるのは、とても便利です。

範囲を指定して送信することも可能です。

またメールの件名や本文中に、自動的に氏名を挿入することができます。

自動挿入を応用すると、メールにいろんなデータが挿入できます。

すると、一括送信したメールでも、個々に送信したような、親しみのある内容にすることが可能です。(フレンドリーなメール)

さらに、複数の添付ファイルを付けて送信することができます。もちろんメールごとに異なった添付ファイルを指定することも可能です。

他にも「ステップメール」を送信してみたり、様々な可能性を感じていただけると思います。

ぜひ一度ご覧ください。きっとあなたの仕事に役立ちます。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
<strong>Excel</strong>で<strong>VBA</strong>プログラミングを行なうと、メールを送信したり、受信できるようになります。<br /><br />普段よく使っているExcelからメールが送受信できるのは、とても画期的なことです。<br /><br />たぶん今より、Excelの活用範囲が、10倍以上は確実に広がります。100倍と言っても過言ではないかもしれません。<br /><br />そこで、プログラミング初心者向けに無料Web講座を用意したので、ぜひご活用ください。<br /><br />・<a href="http://mailpg.pgtop.net/" target="_blank">メール送信・受信プログラミング初心者入門(Excel版)</a><br /><br />この講座は、VBAプログラミングの基礎から学べるように工夫しているので、プログラミング初心者でも大丈夫です。<br /><br />Excelを今より活用できて、しかもVBAプログラミングの基礎まで学べるのですから、一石二鳥です。<br /><br />Excelの良さは、何といってもワークシートが編集しやすいことです。初心者でも数時間あれば、使い方を学べます。<br /><br />また、データをワークシートのセルに簡単に保存できることも、大きなメリットです。<br /><br />Excelなら編集が簡単で、一覧性があるので、メールアドレスや氏名などの管理がとても楽です。<br /><br />このExcelの良さを、メールの送受信に取り入れたのが、上記の講座です。<br /><br />講座を学ぶとすぐに気付きますが、ワークシートの列に並べたメールアドレスに対して、一括してメールを送信できるのは、とても便利です。<br /><br />範囲を指定して送信することも可能です。<br /><br />またメールの件名や本文中に、自動的に氏名を挿入することができます。<br /><br />自動挿入を応用すると、メールにいろんなデータが挿入できます。<br /><br />すると、一括送信したメールでも、個々に送信したような、親しみのある内容にすることが可能です。(フレンドリーなメール)<br /><br />さらに、複数の添付ファイルを付けて送信することができます。もちろんメールごとに異なった添付ファイルを指定することも可能です。<br /><br />他にも「ステップメール」を送信してみたり、様々な可能性を感じていただけると思います。<br /><br />ぜひ一度ご覧ください。きっとあなたの仕事に役立ちます。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>■Excelからメール送受信する</category>
      <author>Excel VBA</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,exvba/133945036</guid>
                </item>
      </channel>
</rss>

