Product、Customer、Journalの3つのワークシートを持つワークブックがあります。 私が必要とするのは、上記の各シート内のボタンに割り当てられたマクロです。 ボタンがユーザによってクリックされた場合は、アクティブシートには、次の命名規則を使用して新しいブックとして保存する必要があります:アクティブシートを新しいブックとして保存し、ユーザーに場所を尋ね、新しいブックからマクロを削除する
SHEETNAMEはの名前でなければなりません-
SheetName_ContentofCellB3_DD.MM.YYYY
現在アクティブなシート
- ContentofCellB3 アクティブシートのセルB3の含有量都度
- DD.MM.YYYYは 現在の日付
は私が書いた次のマクロは、前述します:
Sub MyMacro()
Dim WS As Worksheet
Dim MyDay As String
Dim MyMonth As String
Dim MyYear As String
Dim MyPath As String
Dim MyFileName As String
Dim MyCellContent As Range
MyDay = Day(Date)
MyMonth = Month(Date)
MyYear = Year(Date)
MyPath = "C:\MyDatabase"
Set WS = ActiveSheet
Set MyCellContent = WS.Range("B3")
MyFileName = "MyData_" & MyCellContent & "_" & MyDay & "." & MyMonth & "." & MyYear & ".xls"
WS.Copy
Application.WindowState = xlMinimized
ChDir MyPath
If CInt(Application.Version) <= 11 Then
ActiveWorkbook.SaveAs Filename:= _
MyFileName, _
ReadOnlyRecommended:=True, _
CreateBackup:=False
Else
ActiveWorkbook.SaveAs Filename:= _
MyFileName, FileFormat:=xlExcel8, _
ReadOnlyRecommended:=True, _
CreateBackup:=False
End If
ActiveWorkbook.Close
End Subの
しかし、私はあなたの助けをしたいと思いますいくつかの問題があります。
- 上記のマクロを変更するにはどうすればよいですか? ユーザーはパスを決定できます 新しいワークブックは に保存されますか?
- 上記のマクロを変更して、新しいワークブックに初期ワークブックのシートに含まれていたマクロが含まれないようにするにはどうすればよいですか?
- 私のマクロの中に何かがありますか これは別の方法でもうまくいく可能性があります way?
お時間をいただき、ありがとうございます。
P.S.私の場合、常にExcel 2007からExcel 2002までの下位互換性がなければなりません。
、そしておそらくそれ以前のバージョン、Excelはむしろブール 'false'をより'「偽」 'の文字列を返すので、それに応じてコードを変更したいと思いますそれ以外はうまくいくはずです。 –