開いているブックを実行し、各ブックの内容に応じて特定の名前で保存するマクロを作成する方法を教えてください。各ブックはワークシート "ブック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. マクロ内のすべてを列にフィルタリングし、Excelブックのソートされたアイテムごとに個別のブックを保存しようとしています
- 2. Rパスワード保護のExcelブックを保存
- 3. Excelブックを別のブックにコピーする
- 4. VBAブックSavechanges = Falseマクロを実行しているときに保存と閉じのブックが表示される
- 5. 開いているブックから既存の開いていないブックにコピーした貼り付けシート
- 6. excelブックを参照して開き、コードでブックを使用
- 7. 特定のブックを別のブックにコピーする
- 8. ブックのコピーを保存するときに特定のマクロを無効にする
- 9. エクセルVBAのユーザーが既に開いているブックを選択し、Excel 2013 VBAで選択したブック
- 10. VBA - 条件が満たされている場合、別のブックの複数のシートにテンプレートシートをコピー
- 11. ブック内の特定のシートを開く
- 12. VBA - Excel - 元のブックを別名で保存して削除
- 13. パワーポイントマクロでExcelブックを開く
- 14. 条件に基づいてあるブックから別のブックに特定の範囲をコピーしてください
- 15. Excel interop:保存ダイアログを表示せずにブックを保存
- 16. Matlab:Excelシートをコピーしてブックを保存
- 17. 隠しブック内のExcelマクロを表示/編集する方法
- 18. Excelブックを開くときにマクロを自動的に実行
- 19. 条件に基づいて異なるブックから複数のシートの特定のセルにテンプレートをコピー
- 20. 特定の条件を満たす行を削除するR
- 21. 新しいブックにコピーして保存するVBA
- 22. Excelブックが開いていることを確認しますか?
- 23. ブックを削除して保護する
- 24. VBAを使用してExcelブックを開くときに、開いているブックをアクティブなウィンドウにする方法はありますか?
- 25. 特定の条件を満たすオブジェクトの数を数える
- 26. Googleシートのブックとしてワークシートを保存する
- 27. .net throughすべてのデータを1つのExcelブックから別のExcelブックにコピー
- 28. 複数のシートを特定のファイル形式の新しいブックに保存
- 29. アクティブシートを新しいブックとして保存し、ユーザーに場所を尋ね、新しいブックからマクロを削除する
- 30. Excelマクロ - 条件を満たす項目のリストを返します
は、あなたがこれを行うには、マクロを記述しようとしたことがあり、またはあなたもExcelが何をしているかを確認する(タスクを完了すると)マクロを記録しようとしている:これを試してみてください? – Clauric