こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

エクセルで、ACCESSのクエリの変更反映

Microsoft Accessで、クエリ(ビュー)のデータを変更したら、もとのテーブルも変更されたりします。
Excelにおいて、vlookupなどで、もとの(複数の)表から必要な部分を抜き出した表をつくることができると思いますが、その場合は、その参照先の表のデータを変えても参照元のデータは変わりません。
これが変わるようにできるような方法はあるのでしょうか?

投稿日時 - 2019-08-08 23:56:07

QNo.9643905

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

何のことを言っているかわからない。
別に探せば、連動しないけケースは、多くあると思うが。
ーー
VLOOKUP関数の例
Sheet2!A2:B5
1大阪
2京都
3奈良
4神戸
Sheet1で
A1:B5について
A2:A4は
1
3
4
と入力してあって
B2に
=VLOOKUP(A2,Sheet2!$A$2:$B$10,2,FALSE)
といれて式を複写。
1大阪
3奈良
4神戸
Sheet2で奈良を和歌山に(手動で)変える。
Sheet1は
1大阪
3和歌山
4神戸
になる。これをどう考えるか?
ーー
連動するのは(特に別単位のファイルやソフトかんでは)、テーマとして難しいことだと思う。
それを「リンク」などとして、特別の仕掛けを考えて、開発者は苦労している。
 ちょっとした経験で不満を感じて、大きく結論を言うのでなく、個別に出くわした都度、勉強(質問も含め)すべきだ。開発者が仕組みを作らないと、連動はむつかしいものだと思う。変動全部を対象とはとてもできなないので、特別に
、リストに載せて限定して見張り、対処しているのが最近までの流儀かな。
 そういう見張りシステムはリソースをくう費消するはず。

投稿日時 - 2019-08-10 16:39:19

ANo.2

VBAでフォームの初期設定時にテキストボックスのControlSourceプロパティを設定します。
一行の例ですが
C列D列にデータの範囲(1行から50行まで)
C列が検査値を検索する列
F1に検査値が入っている
として
Vlookup関数なら
=VLOOKUP(F1,C1:D50,2,FALSE)

Private Sub UserForm_Initialize()
Dim c As Range

With Sheets("Sheet1")
Set c = .Range("C1:C50").Find(.Range("F1").Value, lookat:=xlWhole)
If Not c Is Nothing Then
Me.TextBox1.ControlSource = c.Offset(0, 1).Address
End If
End With

End Sub

投稿日時 - 2019-08-09 14:13:10

お礼

ありがとうございます。VBAをまだ十分には分かっていないのですが、いみをしらべてやってみたいと思います。

投稿日時 - 2019-08-10 22:42:27

ANo.1

ユーザーフォームを作成して表示時に該当セルとテキストボックスをリンクさせればできます。Accessのクエリ画面を作るみたいな感じで。

投稿日時 - 2019-08-09 06:49:46

お礼

ありがとうございます。すみません、検索してみたのですが、
ユーザーフォームというのは、アクセスのフォームみたいなものだと分かりましたが、
「該当セルとテキストボックスをリンクさせれば」というのがよくわかりません。
よろしければ教えて下さい。よろしくお願いいたします。

投稿日時 - 2019-08-09 12:51:34

あなたにオススメの質問