No.3ベストアンサー
- 回答日時:
>実際の作業ファイルのシート名にしようと試みました。
マクロ文中の"Sheet1"を全て実際のシート名(例えば"data form")へ置き換えたのですが
これは、数百あるデータが、"data form"のシートに有るとすれば、
>file_name = Dir(m & "*.xls")
Do While file_name <> ""
If file_name <> m_file_name Then
Workbooks.Open Filename:=m & file_name
この下部分のコード
' Sheets("Sheet1").Select
を
Sheets("data form").Select
に変えてください。
その下にある11ヶ所のm_file.Sheets("Sheet1").はまとめ用のファイルのシートを指定しています。
また、一番左端にあるシートを指定したい場合は、Sheets(1)のように、括弧の中は数字の1になります。
でわ、よろしく
何度もありがとうございます。できました!
これで月曜日の仕事のめどがつきました。
本当にありがとうございました。
これを機会に、マクロを勉強したいと思います。
(まずは簡単なものから・・・)
No.2
- 回答日時:
こんにちわ、これで如何ですか。
各ファイルのシート"Sheet1"にデータがあります。
Sub file_sam()
Application.ScreenUpdating = False
Dim file_name
Dim m_file_name As String
Dim j As Long
Dim m_file As Workbook
Dim m As String
Set m_file = ThisWorkbook
m_file_name = ThisWorkbook.Name
j = 2
m = "C:\Exle_Data\"
'C:\Exle_Data\を実際のフォルダに変えてください。
file_name = Dir(m & "*.xls")
Do While file_name <> ""
If file_name <> m_file_name Then
Workbooks.Open Filename:=m & file_name
' Sheets("Sheet1").Select
m_file.Sheets("Sheet1").Range("A" & j) = j - 1
m_file.Sheets("Sheet1").Range("B" & j) = Range("D3")
m_file.Sheets("Sheet1").Range("C" & j) = Range("D4")
m_file.Sheets("Sheet1").Range("D" & j) = Range("D5")
m_file.Sheets("Sheet1").Range("E" & j) = Range("D6")
m_file.Sheets("Sheet1").Range("F" & j) = Range("D7")
m_file.Sheets("Sheet1").Range("G" & j) = Range("J4")
m_file.Sheets("Sheet1").Range("H" & j) = Range("J5")
m_file.Sheets("Sheet1").Range("I" & j) = Range("J6")
m_file.Sheets("Sheet1").Range("J" & j) = Range("J7")
m_file.Sheets("Sheet1").Range("K" & j) = file_name
file_name = Dir
j = j + 1
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
Else
file_name = Dir
End If
Loop
End Sub
書いていただいたマクロ文をそっくり貼り付けたところ、うまく動作しました!ありがとうございます。
重ねての質問で恐縮ですが、実際の作業ファイルのシート名にしようと試みました。
マクロ文中の"Sheet1"を全て実際のシート名(例えば"data form")へ置き換えたのですが、『実行時エラー'9':インデックスが有効範囲にありません』となります。
もしかしたらシート"名"は関係なく、一番左端にあるシートが"Sheet1"と定義されるのでしょうか?(それも変か・・・)
すでにお気づきだと思いますが、マクロを触ったのは、今回が初めてです・・・
お時間ありましたら、再度アドバイスをいただけますでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルで、ファイルの分割 と ファイルの集約 1 2022/08/28 08:58
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Firefox で file:// で始まる U...
-
python renameについて
-
巨大なテキストの最終行を取得...
-
drtファイルはどうしたら開...
-
複数ファイルを1つにするシェ...
-
JSP URLに表示される拡張子 .jsp
-
Perlでのパーミッション変更の仕方
-
重複ファイル名ある場合ファイ...
-
perlでMail::Mbox::MessagePars...
-
fgets で値が取得できない
-
VBAでCSVファイルの特定行を書...
-
Perlの変数に文字数制限(容量...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
ExcelをCSV書き出す場合のシー...
-
DOSコマンドで、標準出力を出力...
-
ファイル出力の改行コードをLFに
-
C言語で特定の行を抽出する方法...
-
[Perl]ファイル出力のエンコー...
-
htaccessで特定のディレクトリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python renameについて
-
fgets で値が取得できない
-
window.open でのファイル指定方法
-
巨大なテキストの最終行を取得...
-
ファイル全てを .xlsm に変更し...
-
read() on unopened filehandle...
-
csvファイルの横方向への改行に...
-
VBAコードを張り付け後のエクセ...
-
JSP URLに表示される拡張子 .jsp
-
Firefox で file:// で始まる U...
-
drtファイルはどうしたら開...
-
重複ファイル名ある場合ファイ...
-
並び方、
-
VBA テキストファイルを読み取...
-
cgiでサーバーにファイルを追加...
-
HTMLのフォームで画像と文...
-
WindowsでPerlをする際,1行目の...
-
バイナリファイルの出力
-
Perlでのパーミッション変更の仕方
-
foreach内での変数の扱い?
おすすめ情報