新しいExcelワークシートを作成するためにVBEコードを作成しようとしています。私は以下のコードを使用していますし、本当に正常に動作している新しいワークシートを作成するにはExcelシートを作成する条件を作成する方法
:
Dim ws As Worksheet
With ThisWorkbook
Set ws = .Sheets.Add(After:=.Sheets(.Sheets.count))
ws.Name = "Savings"
End With
しかし、今、私はこのロジック上で動作するIF条件にこのコードを変更する必要がありますがあれば「Savings」という名前のワークシートを削除し、新しいワークシートを作成します。「Savings」という名前の他に、「Savings」というシートを作成します。
"Savings"ワークシートを作成した後、新しいファイルとして保存したいので、名前を付けて保存ダイアログボックスの名前フィールドに名前(Savingsなど)を提案したいと思います。
Dim ws As Worksheet
With ThisWorkbook
For Each ws In .Worksheets
If ws.Name = "Savings" Then 'If Savings exists
Application.DisplayAlerts = False 'Disable warnings
ws.Delete 'Delete Worksheet
Application.DisplayAlerts = True 'Enable warnings
Exit For
End If
Next ws
'Add Savings Worksheet
Set ws = .Worksheets.Add(After:=.Worksheets(.Worksheets.Count))
ws.Name = "Savings"
End With
With Application.FileDialog(msoFileDialogSaveAs) 'SaveAs Dialog
.InitialFileName = "Savings" 'Suggested Name
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
ThisWorkbook.SaveAs .SelectedItems(1) 'Save File
End If
End With
.showコマンドを挿入する方法を知っていますか?ファイルを保存すると、この新しいファイルが開きますか?あなたのコードでマクロを実行すると保存されますが、新しいファイルは閉じたままになりますので、ファイルを保存したフォルダに移動して開く必要があります。 また、私はちょうどこの特定のworkseetを保存したい(私は数多くのワークシートを持っています)。 –
@LucasSenne ???名前を付けて保存するとファイルが保存され、アクティブなファイルは保存されたファイルになります。それを閉じて再度開く必要はありません。 – tigeravatar
@LucasSenne特定のワークシートだけを節約するには、ワークシートを自分のワークブックに取得し、そのワークブックを(ActiveWorkbookを使用して)保存するために 'Worksheet.Move'を実行する必要があります。あなたがそれをするのを助ける必要があるならば、それは新しい質問になるでしょう – tigeravatar