既然你願意接受一個VBA解決方案,這是假定自動數字將在一個柱走。手動將A1中的第一個值。然後在工作表中的代碼區域中輸入以下事件宏:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A As Range, oldYr As String, yr As String, N As Long, oldN As Long
Set A = Range("A2:A" & Rows.Count)
If Intersect(Target, A) Is Nothing Then Exit Sub
If Target.Value <> "" Or Target.Offset(-1, 0) = "" Then Exit Sub
Cancel = True
ary = Split(Target.Offset(-1, 0).Value, "/")
oldYr = ary(0)
oldN = CLng(ary(1))
yr = Right(CStr(Year(Date)), 2)
If yr = oldYr Then
Target.Value = yr & "/" & Format(oldN + 1, "000")
Else
Target.Value = yr & "/" & Format(1, "000")
End If
End Sub
如果你在第一個空單元格中列A雙擊,下一自動編號將在該單元格中輸入。
因爲它是工作表的代碼,這是非常容易安裝和自動使用:
- 右鍵單擊靠近Excel窗口底部的標籤名稱
- 選擇查看代碼 - 這帶來了一個VBE窗口
- 粘貼的東西並關閉VBE窗口
如果您有任何問題,首先嚐試在一個審判工作。
如果保存工作簿,宏將與其一起保存。 如果您在2003年以後使用的是Excel版本,則必須將該文件保存爲.xlsm而非 。XLSX
要刪除宏:
- 彈出VBE窗口如上
- 清晰的代碼進行
- 關閉VBE窗口
要了解更多關於宏一般,參見:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
要了解更多有關事件宏(工作表的代碼),請參閱:
http://www.mvps.org/dmcritchie/excel/event.htm
宏必須爲此工作啓用!
我希望你認識到,在2015年1月的第一天,**所有**列中的單元格將切換到* 15/xxx * – 2014-09-04 16:18:55
我只能想到做這件事的第一行是一個「種子」行 - 沒有公式 - 允許後續行中的公式進行文本比較,以決定是否重置計數器並遞增年份代碼。 – blackworx 2014-09-04 16:22:15