pickup

目次

ACCESSから、閉じているExcelへデータ転送2

こんにちは。伊川(@naonaoke)です。


前回は、上の記事を説明しました。

今回は、実際に、ACCESSのフォームの中身をExcelへ転送します。

問題提起

 

阿久 世子男(アク セスオ)は今考え込んでいます。

前回は、サンプルファイルで、ACCESSから閉じているExcelへ転送することはできました。

しかし、フォームに入力された値を転送するにはどの用にするのだろうか?

 

解決策

 

回答
sesuo2.jpg
・GetObject 関数でExcelを起動させせる
・SpecialCells メソッドを利用してExcelへ書き込む。

 

GetObject 関数

ファイルから ActiveX オブジェクトにアクセスして、そのオブジェクトをオブジェクト変数に割り当てるために使用されます。 GetObject で返されたオブジェクトをオブジェクト変数に割り当てるには、Set ステートメントを使用します。

このようにヘルプには記載されています。

今回の紹介する内容であれば、Excelを起動するたに使用されていると思ってください。

また、ヘルプの中に、ActiveXの記載があります。

ActiveXは、マイクロソフトがオブジェクトのやりとりを行う仕組みである

Object Linking and Embedding (OLE) からインターネットに関する技術を分離させたものです。


カンタンなイメージを作成すると、上の図のようになります。

SpecialCellsメゾット

指定した条件に一致するセルを取得します。

今回の場合は、Excelに転送した際に、追加をしていく状態になります。

つまり、直前のレコードまでという事になります。


最初に、コード全体を確認してください。

前回のコードに付け足した部分を囲んでみます。


 

ACCESSから、閉じているExcelへデータ転送2 作成手順その2 追加のデータベースを確認


ACCESSから、閉じているExcelへデータ転送2 作成手順その3 追加したコードの解説


ここがポイント

 

ここがポイント
Function8.png

今回は、非常に難しい内容になったとおもうのですが、VBAはパーツごとに組合わせて最後に作動させることができます。
1つ1つのパーツはそれほど難しいものではありませんので、作動しない場合は、イミディエイト ウィンドウ等で確認しながら、進んでいきましょう。

 

まとめ

今回に関しては、サンプルファイルで実行しながら、確認したほうがいいかも知れません。

結構難しい内容になりました。申し訳ありません。

 

今回のサンプルファイルは、No73です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事