[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『EXCEL2016のマクロで!』(タロウZ)
いままで、EXCEL2000を使用していましたが、 最近EXCEL2016になったのですが下記のマクロが動きません。
For Each WorkBB In Workbooks If WorkBB.Name = ブックNAME Then MyFlagA = True: Exit For End If Next
ブックNAME には、ファイル名が入っています。がファイルを開いた状態でも MyFlagAがTRUEになりません。仕様が変わったのでしょうか?
以上よろしくお願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
ブックNAME も、xlsmです。
お願いします (タロウZ) 2017/05/01(月) 18:08
Msgbox等でWorkBB.Nameを確認してみてはどうか。 (ねむねむ) 2017/05/01(月) 19:17
いろいろありがとうございます。 明日、会社でもう一度上記等やってみます。 ありがとうございました。 (タロウZ) 2017/05/01(月) 19:54
> ブックNAME も、xlsmです。
xlsxじゃ無いんですか? 操作対象のブックもマクロブックなんですか?
(sy) 2017/05/02(火) 08:04
For Each WorkBB In Workbooks MsgBox WorkBB.Name If WorkBB.Name = ブックNAME Then MyFlagA = True: Exit For End If Next
で、上記の WorkBB.Name が、『PERSONAL.XLSB』と表示されました。 おかしいのですが・・・
(タロウZ) 2017/05/02(火) 10:09
何が表示されることを期待しましたか?
(マナ) 2017/05/02(火) 10:19
直接できるのであれば、おしえてほしいのですが。 よろしくお願いします。
いままでの使い方は悪いのでしょうか? (タロウZ) 2017/05/02(火) 10:33
書かれているVBAはその時開かれているブックすべてを対象にしているが『PERSONAL.XLSB』一つしか出てこないのだろうか?
SDI化で違いが出ているのだろうか? (ねむねむ) 2017/05/02(火) 10:41
ブックNAME は『PERSONAL.XLSB』と違うファイルです。 (タロウZ) 2017/05/02(火) 11:54
[[20141201004322]] 『Workbooks.Openについて』(toshi)
(カリーニン) 2017/05/02(火) 12:03
2016のPCで確認してきました。
今のコードで問題なく、TRUEになりましたよ。
(マナ) 2017/05/02(火) 12:44
いろいろありがとうございまます。
機械リスト.xlsxを開いて
家のパソコンですが、2013エクセル、 WIN10で下記実行してみました。
MyFlagAがTRUEになりました、
ブックNAME = "機械リスト.xlsx" For Each WorkBB In Workbooks If WorkBB.Name = ブックNAME Then MyFlagA = True: Exit For End If Next
やっぱり、会社のエクセルになにかあるのようです。 連休明けに再度チェックしてみます。 ありがとうございました。
(タロウZ) 2017/05/02(火) 21:19
>ブックNAME = "機械リスト.xlsx" 会社のコードも同じなんですか?
(sy) 2017/05/02(火) 08:04でお聞きしてますけど、 (タロウZ) 2017/05/01(月) 18:08で、 >ブックNAME も、xlsmです。 と発言されてますけど、ブックNAME = "機械リスト.xlsm" になってるせいで一致しないと言う事は無いですか?
後こんな方法でループしなくても取得出来ます。
Sub test() Dim wb As Workbook
On Error Resume Next Set wb = Workbooks("機械リスト.xlsx") On Error GoTo 0
If Not wb Is Nothing Then MsgBox "開いてます" Else MsgBox "開いてません" End If
End Sub
(sy) 2017/05/02(火) 21:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.