
下記のマクロを実行すると
不要シートを削除し
ダイナログが開き、保存先フォルダを指定して
指定セル値名でブックが保存されます。
マクロの機能を残しつつ
保存先だけを下記の内容に変更できる方法を教えてください。
保存先を、このマクロを設定しているカレントフォルダの一つ上のフォルダに保存出来るようにしたいのですが、可能でしょうか。(メッセージ等が非表示)
よろしくお願いします。
現状のマクロ
Sub 審査保存1()
On Error Resume Next
Application.DisplayAlerts = False
Sheets(Array("F出張費", "F審査(紙)")).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = False
Const folder As String = "\\nas-sp01\share\確認部\電子申請 関連\"
Dim newName As Variant
Dim initName As String
initName = folder & Range("U1").Value
newName = Application.GetSaveAsFilename(InitialFileName:=initName, FileFilter:="Excel マクロ有効ブック(*.xlsm), *.xlsm")
If newName = False Then Exit Sub
Dim WS As Worksheet
Dim TargetCheck As String
Dim List As Variant
Dim i As Long
Dim Chk As Boolean
List = Array("休日")
For Each WS In Worksheets
Chk = False
If WS.Visible = False Then
For i = 0 To UBound(List)
If WS.Name = List(i) Then
Chk = True
Exit For
End If
Next i
If Chk = False Then
TargetCheck = TargetCheck & WS.Name & vbCrLf
Application.DisplayAlerts = False
WS.Delete
Application.DisplayAlerts = True
End If
End If
Next WS
ThisWorkbook.SaveAs newName, xlOpenXMLWorkbookMacroEnabled
Application.ScreenUpdating = True
Application.Quit
With ThisWorkbook
.Saved = True
.Close False
End With
End Sub
以上です。
よろしくお願いします。
No.2
- 回答日時:
>このマクロを設定しているカレントフォルダ
は ThisWorkbook.Pathで良いですか?
> "\\nas-sp01\share\確認部\電子申請 関連\"
の保存先には保存しなくてよいですか
Sub 審査保存1()
On Error Resume Next
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ThisWorkbook.Save
Sheets(Array("F出張費", "F審査(紙)")).Delete
Dim newName As String
newName = Worksheets("???").Range("U1").Value
Dim WS As Worksheet
Dim TargetCheck As String
Dim List As Variant
Dim i As Long
Dim Chk As Boolean
List = Array("休日")
For Each WS In Worksheets
Chk = False
If WS.Visible = False Then
For i = 0 To UBound(List)
If WS.Name = List(i) Then
Chk = True
Exit For
End If
Next i
If Chk = False Then
TargetCheck = TargetCheck & WS.Name & vbCrLf
WS.Delete
End If
End If
Next WS
With ThisWorkbook
newName = Left(.Path, InStrRev(.Path, "\") - 1) & "\" & newName
.SaveAs newName, xlOpenXMLWorkbookMacroEnabled
Application.Quit
.Close False
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Worksheets("???") シートを明示してください
No.1
- 回答日時:
Workbookの.Path属性がそのWorkbookのファイルへのパスの文字列を表しています。
だからp = ThisWorkbook.Path
parentPath = Left(p, InStrRev(p, "\") - 1)
でよろしいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つのTeratermのマクロで複数...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
エクセルに張り付けた写真のフ...
-
TERA TERMを隠す方法
-
Excel マクロでShearePoint先の...
-
Excel_マクロ_現在開いているシ...
-
Excel VBAからAccessマクロを実...
-
エクセル:条件付の行非表示
-
Excel・Word リサーチ機能を無...
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
エクセルで別のセルにあるふり...
-
accessで未入力の場合にメッセ...
-
Excelでボタン(フォームコント...
-
wordを起動した際に特定のペー...
-
オートフィルターとExcelマクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報
回答ありがとうございます。
教えて頂いたコードをどこに追加すればよいかがわかりません。
ご指導よろしくお願いします。