- ベストアンサー
VBA マクロ 他ファイル 毀損 防止 の件
マクロの初心者です。VBA マクロでタイマープログラムを作成しましたが、実行中に、他のファイルをオープンにすると、他ファイル上にタイマー数字が出現し、困っています。どなたか、他ファイル保護のためのプログラム作成方法を教えていただけないでしょうか?よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub 作業台1作業開始() With ThisWorkBook.Sheets("Sheet1") .Range(”K16”)=.Range(”K16”)+1 End With Sub やりたいこと() Total1=HH1&”:”&MM1&”:”&SS1 With ThisWorkBook.Sheets("Sheet1") .Range(”E6”)=Total1 End With ブックまで指定すれば 同じSheet1を持っていても 同じK16セルを持っていても 目的の場所を更新できます http://www.excellenceweb.net/vba/object/active_this_book.html
その他の回答 (1)
- aoyama984
- ベストアンサー率45% (253/561)
どんなプログラムなのでしょうか 実行中の別ブックに ということは ブックを指定していないのではないでしょうか Range("A1").Value = タイマー アクティブなブック アクティブなシート に書いてしまうので ブック.シート.Range("A1").Value = タイマー ブックもシートも指定するとよいのでは 困っているプログラムを提示して質問してもらえると助かります
補足
aoyama984様へ ご質問の件、以下に記します。 変数の宣言 Sub 作業台1作業開始() mywait1= 1 指定時刻1=Now+TimeSerial(0,0,mywait1) If ZAN1 >=1 Then If MacroStop1=False Then Application.On.Time 指定時刻1,"作業台1作業開始" Call やりたいこと Else End If MacroStop1=False End If If ZAN1 =1 Then Sheets(”sheet1”).Range(”K16”)=Sheets(”sheet1”).Range(”K16”)+1 End If Sub やりたいこと() Total1=HH1&”:”&MM1&”:”&SS1 Sheets(”sheet1”).Range(”E6”)=Total1 ・・・ Sub Init() MacroStop1=False ZAN1=1 Total1=1 .... 以上です。 もし説明不足の点があればご質問ください。 お手数おかけします。
お礼
お返事遅くなりまして、申し訳ありませんでした。aoyama984様のおっしゃられました通り、bookの指定をすることで、ファイル毀損問題は解決しました。本当にありがとうございました。その上、ネットのリンク先でEXCELのインストラクトまでしていただいて感謝の限りです。これからもよろしくお願いします。