Board logo

標題: marco, 可否只在指定的workbook裡生效? 而不是所有已經開始的workbook ? [打印本頁]

作者: tongbcat    時間: 2011-9-18 09:53     標題: marco, 可否只在指定的workbook裡生效? 而不是所有已經開始的workbook ?

我是VBA新手, 現有問題請教各高手! 先謝謝大家幫忙!
我是一間小巴公司的主任, 老細要我制定一個檔案去提醒我們有沒有司機遲到!
在開我自己制作的單一檔案是沒有問題的, 但當我同時開啟其他檔案時, 提取實時(real time)的儲存格的marco就出問題了!
請問有沒有方法只令提取實時的marco, 只在指定的workbook裡生效?

Private Sub Workbook_Open()
    Sheets("Control").Range("B1").Value = Time
    Application.OnTime Time + TimeSerial(0, 0, Sheets("Control").Range("B9")), "RealTime"
End Sub

====================================================================
Sub Realtime()
    Sheets("Control").Range("B1").Value = Time
    Application.OnTime Time + TimeSerial(0, 0, Sheets("Control").Range("B9")), "RealTime"
End Sub

[attach]7866[/attach]
作者: GBKEE    時間: 2011-9-18 10:25

回復 1# tongbcat
  1. Sub Realtime()
  2. ThisWorkbook.Sheets("Control").Range("B1").Value = Time
  3. Application.OnTime Time + TimeSerial(0, 0, ThisWorkbook.Sheets("Control").Range("B9")), "Realtime"
  4. ''''''''''''''''''''''''''''''''''''''''''''''''''''''
  5.     'With ThisWorkbook
  6.     '    .Sheets("Control").Range("B1").Value = Time
  7.     '    Application.OnTime Time + TimeSerial(0, 0, .Sheets("Control").Range("B9")), "Realtime"
  8.     'End With
  9. End Sub
複製代碼
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     With Sheet6.WindowsMediaPlayer1
  3.         If [B8] = 0 Then
  4.             .URL = Workbooks("reminder.xls").Sheets("Control").Range("B4")
  5.             .Visible = False
  6.             .Controls.Play
  7.             .Controls.stop
  8.         ElseIf [B8] > 0 Then
  9.             .URL = Workbooks("reminder.xls").Sheets("Control").Range("B5")
  10.             .Visible = False
  11.             .Controls.Play
  12.             MsgBox "       有 人 遲 到  !"
  13.             .Controls.stop
  14.         End If
  15.     End With
  16. End Sub
複製代碼

作者: tongbcat    時間: 2011-9-19 08:01

謝謝, OK 了, 老細收貨啦!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)