コードの書き方が分からないのですが、
一つもともとあるexcelファイル(file1)にマクロを保存しておいて
それを使うときに新しく必要な情報が入った上のとは別のexcelファイル(file2)を作ります
そしてfile1を開いた状態でfile2から値を参照するにはどうすればよいのでしょうか?
つまり今file2はありません
しかしfile2を作りそこから参照したいときににコードをさわらなくてもいいように書きたいのです
file2は毎回同じように作るので値は変わっても場所は毎回同じセルに入ります
説明が下手で質問が分かりづらいとは思うのですがどうかよろしくお願いいたしますm(__)m
No.4ベストアンサー
- 回答日時:
> できればfile2を適当な名前で作った時にも値を持ってこられるようにしたいのですが、、、
もし、エクセルのファイルをfile1とfile2の2個しか開いていないのでしたら
For i = 1 To Workbooks.Count
If ThisWorkbook.Name <> Workbooks(i).Name Then
file2 = Workbooks(i).Name
End If
Next i
とすることで、どのようなファイル名でも対応できます。
複数開いている場合には、何をもってfile2だと判断できるのかによって対応が違ってきます。
たとえば、ファイル名に一定のワードを必ず入れてもらうようにするのでしたら、同じような感じで
For i = 1 To Workbooks.Count
If Workbooks(i).Name Like "*一定のワード*" Then
file2 = Workbooks(i).Name
End If
Next i
で対応できます。
もし、フォルダの中で一番新しいファイルと決まっているのでしたら
i = 1
ChDir ThisWorkbook.Path
f = Dir("*.*")
file2 = f
Do While f <> ""
buf = f
If FileDateTime(file2) < FileDateTime(buf) Then
file2 = buf
End If
i = i + 1
f = Dir()
Loop
などのような手段があります。
> 参照という言い方が悪かったかもしれません(・・;)
> 新たに作るfile2にはfile1で必要な値がいくらかあり、
> それを持ってきたいのです
Range("A1") = Workbooks(file2).Sheets("Sheet1").Range("A1")
みたいな感じでfile2の内容をfile1に持ってこれます。同一ファイルのセルの値をセルに代入するのと同じでWorkbooks(file2)でファイル名を追加するだけです。
すごい!!
完全に求めていたものです!(^^)!
何度も回答していただき最後まで付き合ってくださりありがとうございました<(_ _)>
No.3
- 回答日時:
> 同じ名前のファイルを同時に開くことができるのでしょうか?
すみません。慌てて回答したので意味不明な事を書いてしまいました。先の回答は忘れてください。
file2から値を参照したいという事は、file2のセルに=[file1]Sheet1!$A$1のような式をfile1のマクロで書き込みたいということだと思ったので、それでしたらfile2のファイル名を同じにしておけばfile1のマクロは変更する必要がないのではないでしょうかと伝えたかったのですが、意味不明なことを書いてしまいました。
ただ、file1のデータが変更されないとか、その時点でのデータが必要なのでしたら、file2からfile1を参照するよりfile1のデータをfile2に書き込むようにしてしまった方が、いいのかなとは思います。
file2のSheeet1のA1にfile1のモジュールの存在するシートのA1のデータを書き込む
Workbooks("file2").Sheets("Sheet1").Range("A1") = Range("A1")
で、file1のマクロを実行するときにfile2が開いていないとエラーになるので
For i = 1 To Workbooks.Count
If file2 = Workbooks(i).Name Then
flg = True
End If
Nexti
で開いているファイ名を取得してfile2がなければfile2を開くと書きかかったのですがむちゃくちゃ半端でした、すみません。
この回答への補足
file1のマクロに名前を指定しておいて、file2を作る人にこういう名前で作ってね!
と伝えておけばよいのでしょうが、
できればfile2を適当な名前で作った時にも値を持ってこられるようにしたいのですが、、、
参照という言い方が悪かったかもしれません(・・;)
新たに作るfile2にはfile1で必要な値がいくらかあり、
それを持ってきたいのです
伝わりにくいかもですがよろしくお願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Excel(エクセル) vba コンパイル 4 2022/10/27 10:01
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) Excelで、カーソルの移動が異常です。 1 2022/06/15 20:54
- Excel(エクセル) エクセルのファイルが開かない 4 2022/04/22 15:07
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのマクロについて教えてく...
-
Vba 実数および実数タイプの変...
-
ユーザーフォームに別シートか...
-
VBA レジストリの値の読み方に...
-
エクセルVBAについて
-
VBA listBoxから
-
ExcelのVBAコードについて教え...
-
VBA 複数条件の分岐処理の上手...
-
ExcelのVBAです。フォルダ内の...
-
VBAの計算で@が出てしまう件
-
VB.net(VB)で、フォームにExcel...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBAの質問になります Userform内で
-
VBAの質問になります メッセー...
-
Excel マクロについての相談
-
Vba SelStart、SelLen教えてく...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報