お客様から非常に多いExcelやAccessなどのソフトウェアに関してのご質問や、その他さまざまな質問を順次紹介致します。
お客様の使用方法によっては適さないものもあるかと思いますが・・・
参考にして頂ければと思います。
◆Excelの自作関数からAccessデータベース参照の方法(VBA)
ExcelのVlookup関数の参照先をAccessのテーブルにするような感覚の関数を作成します。
以下の5番目のソース内のConnectionStringを変更することで、MicrosoftのSQL-Serverやその他SQLを使用したサーバに対応することが出来ます。
まず、ExcelからAceessのテーブルのデータを呼び出すためのファイルを作成します。
テスト環境は、Excel2003・Access2003とMDAC2.8です。
- デスクトップにExcelとAccessのファイルを作ります。
(この例ではファイル名はそれぞれEXCEL.xlsとACCESS.mdbにします)
- Excelから呼び出したいデータ用のテーブルをAccessに作成します。
1で作成したAccess.mdbにテスト用のデータを保存するためのテーブルを次のような条件で作成します。
テーブル名:tPrice
フィールド名:CD(テキスト型・その他の設定項目はデフォルト)
フィールド名:PRICE(通貨型・その他の設定項目はデフォルト)
- Accessのテーブル(tPrice)にサンプルデータを入力します。
Excelの自作関数で参照する時、CDを入力しPRICEを検索させるといった感じになります。
CD PRICE CD0001 12000 CD0002 13000 CD0003 14000
データの入力が終わりましたら、これでAccess側の準備は終わりです。
(CDには品番をPRICEにはその品番の単価などをよく入力されます。) - 次にExcel側の自作関数を作成します。
1で作成したEXCEL.xlsを開き、[alt]+[F11]でVisual Basic Editorを開きます。
(F11キーがキーボードにない方は、[alt]→[T]→[M]→[V]の順でキーを入力すると開きます。) - Visual Basic Editorを使用して、標準モジュールに自作関数を作成します。
[alt]→[I]→[M]の順番でキーを入力すると、標準モジュールの下に「Module1」が作成されます。
「Module1」を選択するためにダブルクリックし、以下のモジュールを入力します。
Function CD_TO_PRICE(CD As String) As Currency Application.Volatile Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim ret As Currency cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ ActiveWorkbook.Path & "\Access.mdb" cn.Open rs.Open "SELECT CD,PRICE FROM tPRICE WHERE CD = '" & Trim(CD) & "';", _ cn, adOpenStatic, adLockReadOnly If rs.RecordCount = 1 Then ret = rs.Collect("PRICE") Else ret = 0 End If CD_TO_PRICE = ret rs.Close cn.Close Set rs = Nothing Set cn = Nothing End Function
- これで、Excelの自作関数「CD_TO_PRICE」ができましたので、実際のワークシートでこの関数を利用することができます。
利用方法は、Excelの任意のセルに「=CD_TO_PRICE(セル番号)」でセル番号を参照して、AccessのデータをExcelで表示することができるようになります。
もし、モジュールが動作しない場合は、VBAの参照設定がない場合があります。動作しない場合は以下を確認してください。
[alt]→[T]→[R]を順番に入力し「参照設定」を表示します。この画面で、「Microsoft ActiveX Data Objects 2.X Library」にチェックがない場合は、チェックをしてからもう一度動作確認を行って下さい。
◆1本のLANケーブルを2本にする配線
タイトル通り、1本のケーブルを2つに分ける方法です。
下の写真は実際に作成したケーブルです。
このケーブルを真ん中で切断して、延長用コネクターを使用すれば1本の配線を2本に分けることが出来ます。まずは半分に切断して両端にモジュラープラグを取付ます。
両端に付けたモジュラープラグに延長コネクタを取り付けて完成です。白色のケーブルが1本しかないケーブルの代わりです。
このケーブルを作ったきっかけは、1階にCTUとルータがあり、2階でインターネットと光テレビを見たいが1階から2階へのケーブルが1本しかなかったので作成しました。もし、必要な方がおられましたら¥500(送料は着払いでお願いします)で作成いたします。延長用コネクターはご自身でご用意ください。Y時型のケーブルを2本送ります。(恐らく誰もいらないと思いますが)問い合わせ画面からご注文ください。








