|
▼よろずや さん:
>▼りんご さん:
>>シート上のあるセル(A1)の文字をシート名(mm)とし、ブックの名前を指定してそこへシート(mm)を保存させる なんていうモジュールは作れるのでしょうか。
>
>もちろん可能です。
>で、そのブックは既に存在するのか、新規ブックの名前を付けたいのか?
既存になる場合もあるし、新規ブックの場合もあるという形です。
既存の場合は、そのブック名がいつも同じではないので、ブック名をしてする必要が出てきます。その中へ、シート名をつけなおして保存させたいのです。
ここまで書いてみました。
Sub bookmaking()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim strFilter As String
Dim strTitle As String
Set wb1 = Workbooks("【NEW】YYYY/MM/DD.xls")
'wb1のブック名は「【NEW】YYYY/MM/DD」の形で日付がその時々で異なります。この日付も基本となるブック(wb2)内のあるシート(入金メモ)内の決まったセル(M1)にある日付からとる形にしたいと思っています。
Set wb2 = Workbooks("★★.xls")
If Range("A1").Value <> "" Then
'このセルA1には、誰用の入金メモかの名前が入るようになっています。このA1の名前でシート名はつけ直すように以下で指定しています。
rtn = MsgBox("Do you want to make a new book?", vbYesNo)
If rtn = vbYes Then
Workbook.Open Filename:=ThisWorkbook.Path & "\" & wb1 & ".xls"
wb2.Sheets("入金メモ").Activate
ActiveSheet.Copy Destination:=wb1.Sheets(1)
ActiveSheet.Name = wb2.Sheets("入金メモ").Range("A1")
wb1.SaveAs Filename:=ThisWorkbook.Path & "\" & "【NEW】" & wb1.Sheets(1).Range("M1").Value & ".xls"
Else
strTitle = "Select the Book."
strFilter = "Excel File(*.xls),*.xls," & "全て(*.*),*.*"
Workbook.Open Filename:=Application.GetOpenFilename(strFilter, 1, strTitle, blnmultiset)
Exit Sub
End If
Else
MsgBox "No Fund name." & Chr(13) & Chr(13) & "Check the Fund Name, please."
End If
End Sub
よろしくお願いします。
|
|