2013-07-24 61 views
0

我正在嘗試使用電子表格來記錄工作小時數,以便如果當天的總小時數在單元格A2中高於8,則光標會自動移至第二個選項卡上的單元格D2,因此可以輸入加班的原因。Excel如果單元格a2> 8中的值自動移動到單元格D2以輸入文本

  • 標籤一個被稱爲2013
  • 標籤二是所謂的2013加時賽。

我不擅長excel,所以任何幫助都非常感謝。謝謝!

+0

我認爲你會需要VBA - 這會適合嗎? – pnuts

回答

1

您不提供太多信息。哪些細胞被改變並且有助於A2?是否有類似的列需要選擇不同的單元格?請編輯您的問題並添加關於數據結構的更多細節。

下面的宏的工作原理是手動更改單元格A2。

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim shOvertime As Worksheet 
Set shOvertime = ThisWorkbook.Sheets("2013 Overtime") 
If Not Intersect(Target, Range("A2")) Is Nothing Then 
    If Range("A2") > 8 Then 
     shOvertime.Activate 
     shOvertime.Range("D2").Select 
    End If 
End If 
End Sub 

如果你的數據結構不同,請解釋一下。

要使代碼正常工作,請右鍵單擊工作表選項卡並選擇「查看代碼」以打開Visual Basic編輯器(VBE)。將代碼粘貼到代碼窗口中並關閉VBE。然後將數字輸入到單元格A2中。

+0

到目前爲止工作表設置如下:單元格a2列出日期單元格a2是每天工作的總小時數(a2將由個別員工輸入)a3是開始時間,a4是結束時間。開始和結束時間不會被編輯 –

+0

對不起,稍後輸入一點點。 –

+0

到目前爲止,工作表設置如下:單元格a1列出日期單元格a2是每天工作的總小時數(a2將由每個人輸入)a3是開始時間,a4是結束時間。開始和結束時間不會被編輯,而是被設置時間。例如,如果我從6:30到14:30共工作8個小時,我希望能夠在沒有任何事情發生的情況下輸入8到單元格a2中,但是如果我從06:30到15:30工作,並且輸入9,我會自動帶到了同一日期的2013年加班標籤中,因此我可以輸入一段時間內的原因。 –

相關問題