標題:
表單按鈕判定時間輸入字串
[打印本頁]
作者:
riceeric
時間:
2012-3-29 11:58
標題:
表單按鈕判定時間輸入字串
我在第二欄輸入時第一欄會出現時間
If Target.Column = 2 And Target.Text <> "" Then
Target.Offset(0, -1) = Now
End If
複製代碼
每整點會彈出個表單
Public Sub UserForm_Show()
Dim WinHnd As Long, SUCCESS As Long
If UserForm.Visible = True Then
UserForm.Hide
End If
WinHnd = FindWindow(vbNullString, Me.Caption)
SUCCESS = SetWindowPos(WinHnd, HWND_TOPMOST, 0, 0, 0, 0, Flags)
UserForm.Show
End Sub
複製代碼
而在一個表單上有個按鈕使表單消失
Private Sub CommandButton1_Click()
UserForm.Hide
End Sub
複製代碼
問題來了∼我想要在按鈕按下時,在第一欄時間點之後,第三欄的第一個儲存格增加一些字
這樣要如何做到呢∼
作者:
Hsieh
時間:
2012-3-29 12:18
回復
1#
riceeric
指定時間做某個動作可使用OnTime方法
只是,你在B欄輸入資料時,A欄顯示當前時間
那表單的出現肯定在此之後,所以應該是直接執行C1字串變化才對
作者:
riceeric
時間:
2012-3-29 12:38
回復
2#
Hsieh
舉例來說好了
第一欄 第二欄 第三欄
時間 A 備註
2012/3/29 9:58 AM 2.00 按下按鈕時間
2012/3/29 10:20 AM 3.00
我意思指的按下按鈕假設是10:10 AM他會去找到第一欄時間之後的第三欄儲存格增加字串
第一欄 第二欄 第三欄
時間 A 備註
2012/3/29 9:58 AM 2.00 按下按鈕時間 10:10 AM
2012/3/29 10:20 AM 3.00
作者:
hugh0620
時間:
2012-3-29 13:59
回復
3#
riceeric
試試看~ 不過不知道會不會有bug
Sub ex_1()
Dim a As Date
a = Application.Lookup(Now, Sheet1.Range("A:A"))
'先求now的時間落在哪一個數值上
d = Sheet1.Range("A:A").Find(a).Row
'再利用數值找到對應的列(row)
Sheet1.Range("C" & d) = Now
'最後將now放在第三欄第d列
End Sub
複製代碼
作者:
GBKEE
時間:
2012-3-29 17:45
本帖最後由 GBKEE 於 2012-3-29 17:57 編輯
回復
1#
riceeric
我想要在按鈕按下時,在第一欄時間點之後,第三欄的第一個儲存格增加一些字 這樣要如何做到呢∼
建議用工作表函數
A欄 B欄
產品 項目個數
香蕉 25
柑橘 38
蘋果 40
梨子 41
公式 敘述(結果)
=MATCH(39,B2:B5,1) 因為沒有完全符合的項目,所以會傳回範圍 B2:B5 中下一個較小的值 (38)。(2)
=MATCH(41,B2:B5.0) 範圍 B2:B5 中 41 的位置。(4)
=MATCH(40,B2:B5,-1) 因為 B2:B5 不是依遞減順序排列,所以會傳回錯誤。(#N/A)
你的檔案中如 第一欄是A欄 ,第三欄是C欄
Option Explicit
Sub Ex()
Dim D As Variant, D1 As Double
D1 = Now
D = Application.Match(D1, [A:A], 1)
If Not IsError(D) Then
Range("C" & D) = " 按下按鈕時間 " & Format(Time, "HH:MM AM/PM")
Else
MsgBox "找不到時間點 !!!"
End If
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)