- 締切済み
Excel エクセル VBA マクロ
保存していないブック(ファイル名、ファイルパスが無い)をアクティブにしたいのですがどうすれば良いでしょうか。 Workbooks.Addで新規作成したブックではなく別ソフトからデータベースをエクスポートしたものです。(Accessではありません)そちらのソフトのプログラミングは全くできません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- SI299792
- ベストアンサー率47% (774/1619)
・保存していない ・ファイル名、ファイルパスが無い どっちで判断していいか解らないので、両方作りました。 Option Explicit ' Sub Macro1() Dim Workbook As Workbook ' For Each Workbook In Workbooks ' If Not Workbook.Saved Then Workbook.Activate End End If Next Workbook ' MsgBox "保存していないワークブックはありません" End Sub ' Sub Macro2() Dim Workbook As Workbook ' For Each Workbook In Workbooks ' If Mid(Workbook.FullName, 2, 1) <> ":" Then Debug.Print Mid(Workbook.FullName, 2, 1) Workbook.Activate End End If Next Workbook ' MsgBox "ファイルパスが無いワークブックはありません" End Sub 自分自身を保存していない場合、自分自身がアクティブになることがあります。
- kkkkkm
- ベストアンサー率66% (1719/2589)
> 保存されていないブックを別のブックからアクティブにしたいです。 できなかったのですか?
- kkkkkm
- ベストアンサー率66% (1719/2589)
こちらを参考にしてください 開いているブックの一覧の取得 https://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_010_020.html 単純にブックがVBA実行しているのとエクスポートしたブックだけの場合だと上記のコードを利用して以下のような感じでいけると思います。 Sub Test() Dim objWbk As Workbook ' 各ブック For Each objWbk In Workbooks If objWbk.Name <> ThisWorkbook.Name Then objWbk.Activate Exit For End If Next End Sub
補足
すみません、保存されていないブックを別のブックからアクティブにしたいです。
補足
明日やってみます。