
No.7ベストアンサー
- 回答日時:
以下のマクロを標準モジュールへ登録してください。
Const folder As String = "D:\goo\data2"
は、転記元のファイルを格納しているフォルダ名です。
あなたの環境に合わせて適切に設定してください。
-----------------------------------------------
Option Explicit
Public Sub 個人名シート転記()
Const folder As String = "D:\goo\data2"
Dim fname As String '転記元ファイル名
Dim wbm As Workbook '転記元ブック
Dim sname As String 'シート名
fname = Dir(folder & "\*.xlsx")
Do While fname <> ""
Set wbm = Workbooks.Open(folder & "\" & fname)
sname = wbm.Worksheets(1).Name
ThisWorkbook.Worksheets(sname).Range("A1:C3").Value = wbm.Worksheets(1).Range("A1:C3").Value
wbm.Close
fname = Dir()
Loop
MsgBox ("完了")
End Sub
No.6
- 回答日時:
補足ありがとうございました。
>ファイル1のシート名は個人名、貼り付け先のファイルに同じく個人名のシートがあり、そこに貼り付けるイメージです。
ファイル1のシート名は、個人名ということですが、
シートの数は、1つでしょうか。それとも、2つ以上ありますか。
2つ以上ある場合、どれが、個人名かは、マクロでの判断は難しくなります。
例えば、"山田","総務","Sheet1"の3つのシートがあった場合、
人間なら"山田"が個人名のシートであると判断できますが、マクロではできません。
個人名のシートがある位置がわかっていれば、対応可能ですが、
個人名のシート位置はきまってないでしょうか。
(例 一番左側に個人名のシートがある。もしくは、左から2番目に個人名のシートがある。等です)
No.5
- 回答日時:
補足要求です。
>ファイル1を開いて、そのファイルのA1〜C10セルを、所定のファイルのファイル1シートのA1〜C3に貼り付け、ファイル2のA1〜C3を開いて、所定のファイルのファイル2シートのA1〜C3セルに貼り付ける
ということですが、
1.「ファイル1のA1:C3のセルを所定のファイルのファイル1シートのA1:C3に貼り付け」
が正しいと理解しましたが、いかがでしょうか。(A1:C10ではなくA1:C3)
2.ファイル1のシート名は、どのようになっていますか。
シート名が判らないと、どのシートのA1:C3を貼り付けるのかがわかりません。
3.貼り付け先ののシート名は、以下の理解であってますか。
ファイル1のファイル名=ABCD.xlsx とすると
貼り付け先のシート名=ABCD
4.貼り付け先のシートは、100個のファイルの数分、全て、そろっている前提であってますか。
5.貼り付け先のブックにマクロを記憶すると理解していますが、間違いないでしょうか。
ありがとうございます。
1は誤植でした。
A1〜C3です。
2、3ですが、
ファイル1のシート名は個人名、貼り付け先のファイルに同じく個人名のシートがあり、そこに貼り付けるイメージです。
貼り付け先のファイル名は、まとめファイルという名前です。
4,5はご認識の通りです。
No.4
- 回答日時:
Dirの件。
URLの記事は読んでみました?
ファイル = Dir(パス & "*.xlsx")
'パス配下拡張子「.xlsx」の最初のファイル名を返す
ファイル = Dir
'引数なしDir …引数を引き継いだ次のファイル名を返す
と。Dirはこれだけで、次のファイル名、次のファイル名と自動で内容が変わっていくんです。
ファイル = Dir
Msgbox ファイル
ファイル = Dir
Msgbox ファイル
みたいに、MsgBoxを加えて複数書いてみて下さい。
Msgboxで、[ファイル]に入ったDirの内容が変化してることがわかると思います。
Dirそのものには何も足したり引いたりしていないのに…
個人的にDirは気持ち悪い関数だなって思ってます。
ありがとうございます。
リンク先を読んでいたのですが、
'引数なしDir …引数を引き継いだ次のファイル名を返す
というところは見落としていました。
理解しました!
No.3
- 回答日時:
コメント拝見しました。
「コピー元」と「貼り付け先」でペアの関係があるのですね。
その場合は、予めペアの繋がりをまとめた情報を用意する必要出てきます。
参照用のシートを用意するか、マクロ内に書き込むか。
ペアでファイル名に共通した法則、要素があれば・・・例えば
コピー元 abcde★.xlsx
貼り付け先 abcde▲▲.xlsx
みたいな感じであれば…
フォルダ内のファイルを開く。→abcde★.xlsx
開いたファイル名から貼り付け先のファイル名を作る。
abcde★.xlsx から★を除いて▲▲をつける →abcde▲▲.xlsx
abcde▲▲.xlsxを開く。
abcde★.xlsx からコピーして abcde▲▲.xlsx に貼り付ける。
開いたファイルを閉じる。
ペアの数だけ繰り返し。
…みたいな流れになるかなぁ。
複雑になってくるので、マクロ作成に慣れてないと厳しいです。
何度もありがとうございます。
記録マクロをベースに、少しコードを変更するレベルでしかマクロを使えないので難しそうですね。
ちょっと勉強してみます。
2回目のご回答のところで、わからないところがあるのですが、
ファイル = Dir
というのはどのような意味なのでしょうか?
それ以外のところは解読できたのですが、ここだけ意味がわかりません。
No.2
- 回答日時:
例えば、作業の対象になるファイルが1つのフォルダにまとめてあるなら、
100個のファイル名をわざわざ書き並べなくても、
「このフォルダの中の全ファイルに対して実行して」
というような書き方ができます。
Sub ブックをすべて開いて処理()
Dim パス As String, ファイル As String
パス = "D:¥test¥"
ファイル = Dir(パス & "*.xlsx")
Do While ファイル <> ""
Workbooks.Open パス & ファイル
【実行する処理内容をココの間に書き込む】
Workbooks(ファイル).Close
ファイル = Dir
Loop
End Sub
(こちらより引用、編集)
↓
フォルダー内のすべてブックを開いて同じ処理を行う 《Do~Loop・Dir》|Excel|ヘルプの森 https://www.helpforest.com/excel/emv_sample/ex10 …
ありがとうございます。
元ファイルは同じフォルダに入れています。
明日トライしてみようと思いますが、今回想定しているのは、ファイル1を開いて、そのファイルのA1〜C10セルを、所定のファイルのファイル1シートのA1〜C3に貼り付け、ファイル2のA1〜C3を開いて、所定のファイルのファイル2シートのA1〜C3セルに貼り付ける…という操作です。そのような場合でも、このやり方でできますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
マクロを簡潔にしたい
Excel(エクセル)
-
VLOOKUP が機能しない、その原因は何 ?
Excel(エクセル)
-
エクセル、日々の集計整理方法。(再送です。)
Excel(エクセル)
-
4
excelの数式の書き方について。 以下のような数式をSheet1に書いています。 Sheet1のB
Excel(エクセル)
-
5
エクセルデーターの並び替え
Excel(エクセル)
-
6
エクセル 行番号を自動で振るには
Excel(エクセル)
-
7
電卓は正しいのに エクセルで計算させると間違った答えです。なぜ?
Excel(エクセル)
-
8
マクロのコードを、少しでも削って短くしたい
Excel(エクセル)
-
9
【至急】マクロのカードの書き方を教えてください
Excel(エクセル)
-
10
【EXCEL】=セル&セルが上手く表示できない。
Excel(エクセル)
-
11
Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい
Excel(エクセル)
-
12
セルの値と同じ名前のシートのセルの結合を解除する方法を教えてください
Excel(エクセル)
-
13
VBA エラーの件
Excel(エクセル)
-
14
マクロか関数で処理したいのですが、教えて頂けませんか。
Excel(エクセル)
-
15
Excel関数 情報引用する方法
Excel(エクセル)
-
16
関数で複数ある→以降の文字の抽出したい
Excel(エクセル)
-
17
Excel VBAのことでお聞きしたいことがあり、ご教授お願いします。 下記の3つの図形があり、この
Excel(エクセル)
-
18
エクセルでround関数を使わないで四捨五入する方法
Excel(エクセル)
-
19
マクロ セルの選択
Excel(エクセル)
-
20
widows11のメモ帳でExcelのTXTファイルを開きたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
VBAでワークブックの名前を変数...
-
5
フォルダ内のブック全部にパス...
-
6
ファイルを開かずにマクロを実行
-
7
フォルダ内のexcelファイルを順...
-
8
エクセルマクロで不特定なファ...
-
9
秀丸:あらかじめ設定した複数...
-
10
エクセル 複数ファイルの一括...
-
11
リンク切れチェックを行うマクロ
-
12
エクセルマクロ 異なるファイ...
-
13
エクセルマクロについて質問で...
-
14
エクセルVBA 上書き保存禁止と...
-
15
【Excel VBA】ファイル名が一...
-
16
Accessのaccdbファイルを起動で...
-
17
エクセル(マクロ)のファイル...
-
18
vlookup関数の引数を変数で指定...
-
19
データ参照先が別ファイルの場...
-
20
EXCELマクロを無効にして開く方法
おすすめ情報
公式facebook
公式twitter
Dirのあとになぜカッコがないのかがわかりません。