![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
以前、ExcelのVBAでプロセデュア間での情報の受け渡しに使用できるエリアを使用しました。
しかし、その方法をすっかり忘れてしまいました。
どのブックで使用したかも調べましたが分かりませんでした。
確か[参照の追加]とかをしたような気がしますが?
現在作成中のアプリで以前の方法を使用したく、その方法をご教示頂きたくお願いします。
先にこの場でVBAの質問した際、頂いた回答にベストアンサーをしないで失礼な終了の仕方をしてしまいました。この場を借りて解答者にお詫び致します。お許しください。
No.3ベストアンサー
- 回答日時:
こんばんは
既に回答が出ている中、こだわりのある手法に当てはまるか分かりませんし素人の私が回答できるほどのスキルを持ち合わせていませんがプロシージャ間でやり取りをする方法を具体的な掲示ではありませんが挙げて見ます
(前置き長くてごめんなさい・・既にあるものをは割愛して)
>現在作成中のアプリ・・
#1様の3)に重複する内容だと思いますが
①ルートフォルダにアドイン類をインストールし登録、参照設定を行い
参照先を介して受け渡しを行う方法
この場合、アプリ本体だけでは正しく機能しない(起動抑制)などを行う事が可能ですし2次加工、ユーザー関数(スパゲッティ化)などにも使えます
#1様の ”別ブック、あるいはテキストファイル等を利用して” と(VBAですが)同様の意です
②オブジェクトと言う意味ではリボンのオブジェクト(XML)をカスタムしてコントロールのプロパティを介して受け渡す方法です
この場合Excel機能の制限やUIとして利用する事も出来ます
この様な手法はアプリとしてExcelを活用する時に(限定的な操作、使用制限を行いたい時などに)私的に使う方法です
回答ありがとうございます。
今までに作成したアプリを片っ端から調べてみました。
やっと拘っているそれを見つけることができました。
VBAではなくVB.netのアプリでした。
それは、ApplicationSettingsBaseクラスを使用していたものでした。
皆様の貴重なご意見及び知見を提供して頂き、改めてありがとうございました。
No.2
- 回答日時:
単にprocedure間でデータを共有したいだけなら、グローバル変数を使うのが簡単です。
> 確か[参照の追加]とかをしたような気がしますが?
組み込みでない機能を使った回答があってそれが適合したと言うことであれば、データを共有したい以外の要件があったと思いますが、その要件が不明だと、他人が想像するのは無理ですね。
「えっと、あの人の名前なんだっけ?ほら、俳優の」という質問みたいな感じです。
サポートありがとうございます。
今までに作成したアプリを片っ端から調べてみました。
やっと拘っているそれを見つけることができました。
VBAではなくVB.netのアプリでした。
それは、ApplicationSettingsBaseクラスを使用していたものでした。
皆様の貴重なご意見及び知見を提供して頂き、改めてありがとうございました。
No.1
- 回答日時:
こんばんは
>情報の受け渡しに使用できるエリアを使用しました。
>しかし、その方法をすっかり忘れてしまいました。
>その方法をご教示頂きたくお願いします。
どのような方法なのかのヒントも無いので、「その方法」に関しては何とも言いようがないのですが・・
異なるプロシージャ間で、変数等を共有する方法はいくつか考えられます。
すぐに思いつく方法を以下に挙げておきますので、ご参考にでもなれば。
1)引数として受け渡す。
一番簡単な方法で、単純に変数等をパラメータとして渡す方法ですが、一方から他方をCallする関係になっている必要があります。
ByValは値の受け渡し、ByRefは参照での受け渡しが可能です。
https://learn.microsoft.com/ja-jp/dotnet/visual- …
2)共通変数(グローバル変数)を設けておく。
複数のプロシージャから参照可能な変数を設けておく方法で、事前に宣言しておく必要があります。
スコープ範囲内のプロシージャからであれば、共通で参照・値の変更等が可能です。
https://learn.microsoft.com/ja-jp/office/vba/lan …
3)シート等のメモリ以外の場所に記憶しておく。
文字通りですが、1)や 2)の方法では Excelを終了すると値が失われてしまうのに対して、値を保持し続けられるというメリットがあります。
具体的には、非表示の専用シート(=非表示出なくても良いですが)や、別ブック、あるいはテキストファイル等を利用して、値を記録(=保持)しておくという方法です。
必要に応じて、記入・読出しを行わなければなりませんけれど、安定して記録しておくことが可能です。
回答ありがとうございます。
教えて頂いた方法で、私のやりたいことは可能だと思いますが、過去の方法はないように思います。
記憶違いがあると思いますが、どうしても過去の方法にこだわっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- Excel(エクセル) 「Excelのオプション」の「ユーザーインターフェイスのオプション」の設定値をVBAで取得したい 1 2022/07/31 23:49
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- iPad ワイモバイルのシンプルMプランのシェアプランのSIMが、ipadに使える設定方法を教えてください。 2 2023/08/16 11:34
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
C#で動的にコントロールを取得...
-
Excel-vba 文字列と変数を...
-
相関係数p値の出し方
-
VBAの定数の使い方で、計算値を...
-
VBAで配列のNULL判定
-
10進数をアスキーコードに変換
-
足して100になるような乱数のア...
-
DWORDって
-
フリーランタイマーの時間差分...
-
VB6.0-整数と余りを求める
-
VBAでC列が入力済みならそのま...
-
VBA コンボボックスの値をスピ...
-
エクセルのマクロについて教え...
-
前に教えてもらったマクロ
-
DAOの操作をするとExceptionが...
-
C言語 乱数を階級分け
-
C#の問題で2つの整数a,bの...
-
Rubyで1ミリ秒のsleepできない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
足して100になるような乱数のア...
-
数字の位ごとの値を表示するプ...
-
VB6.0-整数と余りを求める
-
VBAで配列のNULL判定
-
1つ前の値を変数に保存する方法
-
Access2003 オートナンバーの現...
-
UWSCのcallについて
-
C#で動的にコントロールを取得...
-
ラジオボタンの値の取得につい...
-
VBAの定数の使い方で、計算値を...
-
相関係数p値の出し方
-
DWORDって
-
世界のナベアツ
-
DataGridView 複数行同時変更...
-
10進数をアスキーコードに変換
-
c言語で乱数を扱うときの
-
VBAのチェックボックス結果を集...
おすすめ情報