返回列表 上一主題 發帖

如何做到對日期的checking

如何做到對日期的checking

本帖最後由 patrickccs 於 2014-9-4 07:54 編輯

請見附檔

Sheet2中的command button 是把資料copy & paste到Sheet1, 但我想做到的是, 如果A2的日期是等於打開excel當天的日期(例如今天), 就把整列刪除, 才copy & paste到Sheet1, 如果不等於的話, 就全部直接copy & paste到Sheet1

請問我可以用哪一個指令?

謝謝

123.zip (20.68 KB)

回復 12# owen06

明白了, 真的感謝你

TOP

本帖最後由 owen06 於 2014-9-10 12:58 編輯

回復 11# patrickccs


    如果想在其他工作表執行另一個工作表的內容,那就要在指令的範圍前面,加上明確的sheet名稱,才不會迷路。
    例如

Private Sub CommandButton1_Click()
sheets("sheet1").[b15:G15].Clear
For Each mr In sheets("sheet1").Range("a2:a" & sheets("sheet1").[a1].End(4).Row)
      If mr = sheets("sheet1").[a15] Then
        tg = mr.Row
      End If
On Error Resume Next
     Next
   For i = 2 To 7
     sheets("sheet1").Cells(15, i) = sheets("sheet1").Cells(tg, i) - sheets("sheet1").Cells(tg - 1, i)
Next
End Sub

TOP

回復 10# owen06

成功了, 非常感謝, 我最後一個問題是如果我想在另一張sheet執行這張sheet這個指令的話,要怎樣做?

非常非常感謝

TOP

回復 9# patrickccs


    改良了一下,你試試吧
  1. Private Sub CommandButton1_Click()
  2. [b15:G15].Clear
  3. For Each mr In Range("a2:a" & [a1].End(4).Row)
  4.       If mr = [a15] Then
  5.         tg = mr.Row
  6.       End If
  7. On Error Resume Next
  8.      Next
  9.    For i = 2 To 7
  10.      Cells(15, i) = Cells(tg, i) - Cells(tg - 1, i)
  11. Next
  12. End Sub
複製代碼

TOP

回復 8# owen06

測試成功, 謝謝!

我還有一個疑問, 就是假設我沒有在A15輸入日期或者輸入錯了, 但它就跑出運行錯誤的訊息, 所以有辦法做到不跑出運行錯誤的訊息, 而只是沒有資料在相關欄位嗎?

TOP

本帖最後由 owen06 於 2014-9-8 10:54 編輯
  1. Private Sub CommandButton2_Click()
  2. For Each mr In [a2:a10]
  3.       If mr = [a15] Then
  4.         tg = mr.Row
  5.       End If
  6.      Next
  7.    For i = 2 To 7
  8.      Cells(15, i) = Cells(tg, i) - Cells(tg - 1, i)
  9. Next
  10. End Sub
複製代碼

TOP

回復 5# owen06 測試ok, 如果我想用command button 去執行這個指令, 要怎麼改?

TOP

測試成功,不過要注意sheet名稱的不同才不會出現錯誤

TOP

回復 4# patrickccs


    試試看在sheet1加入這個
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. With Target
  3.   If .Column = 1 And .Row = 15 Then
  4.     For Each mr In [a2:a10]
  5.       If mr = [a15] Then
  6.         tg = mr.Row
  7.       End If
  8.      Next
  9.    For i = 2 To 7
  10.      Cells(15, i) = Cells(tg, i) - Cells(tg - 1, i)
  11.    Next
  12.   End If
  13. End With
  14. End Sub
複製代碼

TOP

        靜思自在 : 【為善競爭】人生要為善競爭,分秒必爭。
返回列表 上一主題