![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは。
Excelで他Excelファイルにあるセルの値をVBAで参照したい時って、
場所をどう指定したらいいのでしょうか。
やろうとしている事ですが、
c:\1.xlsに記述するVBAで
c:\2.xlsのsheet1のA1の値を参照して、
それとc1.xlsのsheet1のA1の値が一致した時に、
c:\2.xlsのsheet1のB1の値を、
C:\1.xlsのsheet1のB1に書き出そうとしています。
派遣就業先でAccessで作ればいいものを
なぜか社員の方たちでExcelで作ってしまったため、
そのメンテに四苦八苦しています。(笑)
ご存知の方ぜひ教えてください。
よろしくお願いします!
No.1ベストアンサー
- 回答日時:
なんか質問の内容は「例えば」の例で実際のシートとは異なるように感じます。
サンプルマクロの修正が必要そうですが…とりあえずオーソドックスに"2.xls"を開く方法でやってみます。
以下のマクロをALT+F11でVBE画面を開き、左上のVBAProjectの「ブック名右クリック」→「挿入」→「標準モジュール」で開く画面に貼り付けてください。ファイルパス、ファイル名、シート名は場合によって修正して下さい
VBE画面を閉じ、1.xlsのSheet1を開いた状態で、マクロの実行はALT+F8でマクロ一覧を開き、マクロ名選択後「実行」です
Sub Macro1()
Dim actBk, wb As Workbook
Dim psw As Boolean
Const fPath As String = "C:\Temp\" 'ファイルのパス
Const fName As String = "2.xls" '探すファイル名
Const tSheet As String = "Sheet1" '探すシート名
Application.ScreenUpdating = False
Set actBk = ThisWorkbook
For Each wb In Workbooks '探すBookがすでに開いているか?
If wb.Name = fName Then
psw = True
Exit For
End If
Next wb
If psw = False Then '開いていないなら開く
On Error GoTo Err0
Workbooks.Open (fPath & fName)
End If
actBk.Activate
If Range("A1").Value = Workbooks(fName).Sheets(tSheet).Range("A1").Value Then
Range("B1").Value = Workbooks(fName).Sheets(tSheet).Range("B1").Value
Else
Range("B1").Value = "一致しません"
End If
If psw = False Then
Workbooks(fName).Close False
End If
Application.ScreenUpdating = True
Exit Sub
Err0:
MsgBox Error
Application.ScreenUpdating = True
End Sub
すばやい回答ありがとうございます。
てか私と代わってください。(時給安いですが・笑)
おっしゃる通りで欲しい回答に合わせて私が例にしてしまっていて、
後の部分は何とか先人の質問回答履歴などを踏まえて
自分でも作り込みました。
知りたかった部分って、
Workbooks(fName).Sheets(tSheet).Range("A1").Value
の所だと思います。
Range("A1")の部分は、
Range(i,3)とかにして、
for nextでループでiの部分をまわそうと思っています。
これからやってみようと思います。ありがとうございます。
No.3
- 回答日時:
#01です。
>Range(i,3)とかにして
その書き方はエラーになります。その場合は
Cells(i, 3)
になりますのでご注意下さい。
この回答への補足
#01で頂いた
Set actBk = ThisWorkbookの辺りも全然踏まえていませんでした。
(私には想定出来ないから疑問にもなっていなかった・・・)
本当にありがとうございます。
足向けて寝られない感じです。
その通りですね。(笑)
お礼を書き込んでから打ち間違えに気付いたのですが、
再度お礼を書き込めない感じになっていました。
派遣就業先のグループ内の人間関係が変で、
お膳立てして業務をそれぞれに割り振るため、
とっても苦労しています。
ありがとうございます。(てか本気で代わって欲しいです~)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
白血球が多いとどんな心配があ...
-
2つの数値のうち、数値が小さい...
-
検便についてです。 便は取れた...
-
エクセルのラベルの値(文字列...
-
EXCELで条件付き書式で空白セル...
-
VLOOKUP関数を使用時、検索する...
-
これって喉仏ですか? 私は女性...
-
エクセル指定した範囲からラン...
-
小数点以下を繰り上げたものを...
-
イタリアから帰国する際、肉製...
-
中出しをするとお腹が痛い・・・。
-
EXCELの条件付き書式で数式を空...
-
精子が黄色?
-
リンク先のファイルを開かなく...
-
精液の落とし方を教えてください
-
値が入っている一番右のセル位...
-
知能テストは、今。 義務教育課...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
精子が黄色?
-
エクセル指定した範囲からラン...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
ある範囲のセルから任意の値を...
-
甲状腺が腫れているが血液検査...
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
精液の落とし方を教えてください
-
精子に血が・・・
-
EXCELで式からグラフを描くには?
-
アクエリアスが苦く感じる
-
Excelで""で囲む方法
-
値が入っているときだけ計算結...
-
風俗店へ行く前のご飯
おすすめ情報