返回列表 上一主題 發帖

[發問] 奇怪的巨集??

請問此語法如何寫?

假如 BOOK1.xls 不是作用視窗 則....................
IF Windows("BOOK1.xls")<>Activate THEN
沒有此語法??

TOP

回復 1# t8899
  1. If ActiveWindow.Caption <> "BOOK1.xls" Then MsgBox ActiveWindow.Caption
  2. 或是
  3. If ActiveWorkbook.Name <> "BOOK1.xls" Then MsgBox ActiveWorkbook.Name
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

請問此巨集錯誤如何修改??

本帖最後由 t8899 於 2013-11-1 15:17 編輯

型態不符合  附檔 Book3.rar (7.9 KB)

在開另一檔案後執行會錯誤 ,不開則不會???
Public Runtime
Sub a123()
If Range("i1").Value <> 1 Then
On Error Resume Next
Application.OnTime EarliestTime:=TimeValue(Runtime), _
    Procedure:="a123", Schedule:=False
  Exit Sub
On Error GoTo 0
End If
Macro1
If Range("k14") = 4 Then mytime = "00:00:15"
Runtime = Now + TimeValue(mytime)
Application.OnTime Runtime, "Sheet1.a123"
End Sub

TOP

回復 2# GBKEE

請問超版 .caption 和 .name 有何區別?
謝
ss

TOP

本帖最後由 GBKEE 於 2013-11-1 16:55 編輯

回復 4# sunnyso

請詳看VBA的說明

感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-11-1 16:55 編輯

回復 3# t8899
  1. Sub Macro1()
  2. If ActiveWindow.Caption <> "Book2.xls" Then
  3. Dim ah As Workbook
  4. Set ah = ActiveWorkbook         '這裡是 Workbook物件
  5. 'Dim ah As Window                '變數物件要一致
  6. '******************這裡錯誤嗎????   **************
  7. Set ah = ActiveWindow           '這裡是 Window物件
  8. '*********************************************
  9. End If
  10. MsgBox "test"
  11. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

[發問] 奇怪的巨集??

本帖最後由 t8899 於 2013-11-1 20:10 編輯

1.15秒自動執行一次,沒問題
但當打開A檔案,視窗停留在A檔案,則所得的數字是不對的???
2.單用Sheets("Sheet1").Select 或  With Sheets("Sheet1")
執行會寫進A檔案的工作表裡???
Sub Macro1()
Dim ah As Workbook
Set ah = ActiveWorkbook
'   Sheets("Sheet1").Select
'   With Sheets("Sheet1")
Workbooks("book2.xls").Sheets("Sheet1").Range("a1").Value = Now
t = [TEXT(A1,"hh:mm")+LOOKUP(--TEXT(A1,"s"),{0,15,30,45})/86400]
Workbooks("book2.xls").Sheets("Sheet1").Range("a65536").End(xlUp).Offset(1).Value = Format(t, "hh:mm:ss")
' End With
ah.Activate
End Sub
Book2.rar (9.06 KB)

回復 7# t8899
  1. Sub Macro1()
  2.     Dim t, Ar()
  3.     Ar = Array(60, 45, 30, 15)
  4.     With Workbooks("book2.xls").Sheets("Sheet1")
  5.         .Range("a1").Value = Now
  6.         t = Val(Format(.Range("a1"), "s"))
  7.         t = Application.Match(t, Ar, -1)
  8.         t = Application.Text(.[A1], "hh:mm:") & Ar(t - 1)
  9.         '*************************************************************
  10.         't = [TEXT(A1,"hh:mm")+LOOKUP(--TEXT(A1,"s"),{0,15,30,45})/86400]
  11.         ' 這裡的A1是作用中活頁簿ActiveWorkbook(當打開A檔案)的ActiveSheet的 A1
  12.        '************************************************************
  13.         .Range("a65536").End(xlUp).Offset(1).Value = Format(t, "hh:mm:ss")
  14.     End With
  15. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 t8899 於 2013-11-1 22:13 編輯

回復 8# GBKEE

     
    't = [TEXT(A1,"hh:mm")+LOOKUP(--TEXT(A1,"s"),{0,15,30,45})/86400]
        ' 這裡的A1是作用中活頁簿ActiveWorkbook(當打開A檔案)的ActiveSheet的 A1     

單純能否只改這句來解決呢??
這句裡的A1 無法指定到  Workbooks("book2.xls").Sheets("Sheet1")  裡??
t = [TEXT(NOW,"hh:mm")+LOOKUP(--TEXT(NOW,"s"),{0,15,30,45})/86400]

TOP

回復 9# t8899
VBA函數   NOW
工作表函數 NOW()
  1. t = [TEXT(NOW(),"hh:mm")+LOOKUP(--TEXT(NOW(),"s"),{0,15,30,45})/86400]
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題