2012-12-18 31 views
1

在Excel 2010中,我有一個日期「01-01-2012」和左右箭頭。如何在Excel中從我的左/右箭頭更改日期字符串?

我需要應用一個宏或其他東西,所以日期中的日子會相應減少/增加。如何才能做到這一點?

例如: 「01-03-2012」,當按下向右箭頭時,日期應變爲「02-03-2012」,下一次爲「03-03-2012」等。從[01-31] 請注意,月份和年份永遠不會改變。

我已經制作了一個宏,它可以改變錄製宏時輸入的固定日期的日期,但它不夠好。我需要它來添加/減少,而不是。

+0

是「DD-MM-YYYY」莫名其妙地保存在變量。我的意思是你有三個整數,一天,一個月和一年,或者你只是想使用一個字符串,必須轉換爲整數,然後回到一個字符串? –

+0

我只有一個字符串。 – radbyx

+0

這是日期在工作表中還是在用戶表單中?如果它在一張紙上,我不確定如何使用箭頭鍵可以幫助您,因爲這是Excel中導航的重要組成部分,您可以完全覆蓋Excel導航鍵的本地(並且非常常見)功能。我不會推薦這種方法。 –

回答

3

我將日期命名爲「theDate」的單元格。子SubtractDay幾乎是相同的,DateAdd函數的第二個參數將是-1。

Sub AddDay() 

Dim theDate As Date 
Dim newDate As Date 

theDate = Sheet1.Range("theDate") 

newDate = DateAdd("d", 1, theDate)) 

Sheet1.Range("theDate") = newDate 

End Sub 

請注意,是quick'n'dirty VBA子,因爲這不是我的「強項」,但它會工作...

+0

難道你不能使用'theDate',在這一行'newDate = DateAdd(「d」,1,Sheet1.Range(「theDate」))''這樣嗎? 'newDate = DateAdd(「d」,1,theDate)'? – radbyx

+0

絕對!多任務...最好留給電​​腦。編輯。 –

+0

+1。非常感謝。它完美地工作並完成了這項工作。 – radbyx

1

這絕對可以通過VBA宏來完成。

在開發選項卡 - > Visual Basic中,凡在該小區中存在的紙張上雙擊,並實現了以下事件:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

End Sub 

參數目標將包含被選中的單元格(檢查如果其中一個箭頭是所選單元格),則相應地取消/增加日期值。

相關問題