Excel の VBA ですよね?
どこまでやれてるのかは言ってくれないんですか?
VBA のコードをどこに書けばいいか知っているのか。
一覧を上から下までループしながらセルの値を読み取るコードは書けるのか。
読み取ったセル値に ".xls" を付け足した文字列を生成することはできるのか。
新規ブックを生成することはできるのか。
開いているブックに名前を付けて任意の場所に保存する事はできるのか。
上記の事ができればお望みのものは完成します。
下記コードでは一通りのことができるが、上書き保存時にはダイアログが表示されてしまう。
先にファイルの存在有無を確認して、保存先に既に存在する場合は削除するって処理も考えられる。
ただし自分や他人に開かれているファイルは削除できないので何らかの回避コードも必要になるかもしれない。
Sub CreateXlsFile()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' 保存先のパス (このファイルと同じ場所)
Dim parentPath As String
parentPath = ThisWorkbook.Path
' ファイル名一覧が書いてあるシートを参照
Dim dataSheet As Worksheet
Set dataSheet = ThisWorkbook.ActiveSheet
' 新しいワークブック オブジェクト
Dim newBook As Workbook
Dim i As Long
i = 1
' ファイル名一覧シートのセル値がなくなるまでループ
Do Until dataSheet.Cells(i, 1).Value = ""
' 新規ブックを作成
Set newBook = Application.Workbooks.Add
' セルからファイル名のもとを取得
Dim newBookName As String
newBookName = dataSheet.Cells(i, 1).Value & ".xls"
' 新規ブックに名前を付けて保存
newBook.SaveAs fso.BuildPath(parentPath, newBookName)
' 保存したブックを閉じる
newBook.Close
Set newBook = Nothing
' 次の行に進む
i = i + 1
Loop
End Sub
お礼
私はVBAの知識はほとんどなくて、要件を詳細にかけなくて、すみません。 非常に親切でわかりやすいをいただき、説明ありがとうございます。 これから、VBAについていろいろ勉強していきます。 本当に助かります。 感謝しています。