開いているブックを実行し、各ブックの内容に応じて特定の名前で保存するマクロを作成する方法を教えてください。各ブックはワークシート "ブック1"で一意の列見出しを持つため、セルA1のテキストでブックを決定できます。セルA1 = "Interest"の場合、Y:\ risk \ CCY.csvとしてアクティブブックを保存し、アクティブブックをY:\ risk \ IR.csvとして保存します。開いているブックが条件を満たすまで、開いているすべてのブックをループします。開いているブックを特定の条件を満たすすべてのブックを保存するExcelマクロ
答えて
VBAでの経験はありますか?私はマクロレコーダーを使って保存方法を見つけました。私は次のコードを作ってそれをテストしたが、うまくいった。私はそれを2回実行しようとしましたが、ファイルを上書きしたいのであれば私にメッセージが表示されました。しかし、他のエラーハンドリングは組み込まれていません。
Sub SaveWorkbooks()
Dim WB As Workbook
Dim FileName As String, FolderPath As String
Dim SaveWorkbook As Boolean
FolderPath = "Y:\risk"
ChDir FolderPath
For Each WB In Workbooks
Select Case WB.Sheets(1).Range("A1").Value
Case Is = "Currency"
FileName = "CCY"
Case Is = "Interest"
FileName = "IR"
Case Else
FileName = ""
End Select
'Make sure it's not saving not applicable workbooks
If FileName <> "" Then SaveWorkbook = True Else SaveWorkbook = False
If SaveWorkbook = True Then
ActiveWorkbook.SaveAs FileName:=FolderPath & "\" & FileName & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End If
Next WB
End Sub
これに時間を費やしていただき、ありがとうございました。お勧めのコードをありがとうございます。これらのフォーラムは私には新しく、明らかに私は何か誤解しています。面白い発言ではなく、面白いです。私はVBAの経験はほとんどありませんが、何十年ものExcel機能と標準的なマクロ記録があります。私は100%働くためのコードを手に入れませんでしたが、私はそれに取り組み、解決できるかどうかを見ていきます。 1つの「ケース」を見つけ、それを2つの異なる名前で保存します。 – user6726550
問題ありません。あなたがその答えが最良の解決策であると分かった場合は、先に進んでそれを受け入れたものとしてマークしてください! – SandPiper
私は同意します、これは私の目を読むことを傷つけます。今回は例外を作成します。
Sub SaveWorkbooks()
Dim workbookObj As Workbook
For Each workbookObj In Excel.Workbooks
If workbookObj.Sheets("Book1").Range("A1").Value = "whatever" Then
workbookObj.Save
workbookObj.Close
End If
Next workbookObj
'Clean up
Set workbookObj = Nothing
End Sub
- 1. 特定のブックを特定のフォルダ内の別のブックに保存する
- 2. Excel VBA - 特定の条件が満たされている場合、閉じられたブックからアクティブなブックに行全体をコピー&ペーストします。
- 3. 複数の開いているブックの中で特定のExcelブックを選択できますか?
- 4. 条件に基づいて1つのブックから別のブックの特定のセルにデータをコピーする
- 5. マクロ内のすべてを列にフィルタリングし、Excelブックのソートされたアイテムごとに個別のブックを保存しようとしています
- 6. 開いているブックを別のExcelインスタンスに転送する
- 7. 2つのブックを開いて新しいブックとして保存するVBAループ処理
- 8. Rパスワード保護のExcelブックを保存
- 9. Excelブックを別のブックにコピーする
- 10. VBAブックSavechanges = Falseマクロを実行しているときに保存と閉じのブックが表示される
- 11. 隠されたマスターシートをコピーするマクロをExcelにブック名を付けてブックの末尾に置きます
- 12. 開いているブックから既存の開いていないブックにコピーした貼り付けシート
- 13. マクロenabedブック内のcsvファイルを開き、マクロを有効にしないでcvsファイルを保存する
- 14. excelブックを参照して開き、コードでブックを使用
- 15. C#:編集したExcelブックをプログラムで保存する
- 16. テンプレートからマクロが有効なブックを保存する
- 17. Excel VBA:ブックをWord文書として保存します。
- 18. 特定のブックを別のブックにコピーする
- 19. ブックのコピーを保存するときに特定のマクロを無効にする
- 20. エクセルVBAのユーザーが既に開いているブックを選択し、Excel 2013 VBAで選択したブック
- 21. Excel VBA - ブックを開いてデータを貼り付けます
- 22. 閉じたExcelブックでマクロを実行し、結果を新しいブックにマージする
- 23. VBA - 条件が満たされている場合、別のブックの複数のシートにテンプレートシートをコピー
- 24. ブック内の特定のシートを開く
- 25. 開いているすべてのExcelブックでキーワード検索を実行するVBA
- 26. ブック内の特定のシートの値をルックアップするExcel式
- 27. VBAマクロを使用してフォルダ内のすべてのブックを操作する
- 28. VBAを使用してExcelブックへの変更を保存する
- 29. VBA - Excel - 元のブックを別名で保存して削除
- 30. グループのすべてのエントリが特定の条件を満たしている場合に削除します
は、あなたがこれを行うには、マクロを記述しようとしたことがあり、またはあなたもExcelが何をしているかを確認する(タスクを完了すると)マクロを記録しようとしている:これを試してみてください? – Clauric