こんにちは。
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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
中出しをするとお腹が痛い・・・。
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
イタリアから帰国する際、肉製...
-
精子が黄色?
-
爪が紫色?
-
検便についてです。 便は取れた...
-
風俗店へ行く前のご飯
-
採血項目のTSH1660で特にHとかL...
-
納豆食べた後の尿の納豆臭は何故?
-
知能テストは、今。 義務教育課...
-
これって喉仏ですか? 私は女性...
-
おへその少し上が痛いのですが…
-
口の中に黒い血の塊
-
筋トレするとチンコが縮んじゃ...
-
至急!尿検査前日にオナニーし...
-
精子に血が・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報