創(chuàng)建自動(dòng)填充功能的VBA代碼
在制作迷你記賬系統(tǒng)時(shí),為了實(shí)現(xiàn)錄入憑證時(shí)的自動(dòng)填充功能,我們需要編寫一些VBA代碼來實(shí)現(xiàn)這一功能。首先,按ALT F11打開VBE編輯器,在工具-引用中引用scrrun.dll字典dll庫。然后在VB
在制作迷你記賬系統(tǒng)時(shí),為了實(shí)現(xiàn)錄入憑證時(shí)的自動(dòng)填充功能,我們需要編寫一些VBA代碼來實(shí)現(xiàn)這一功能。首先,按ALT F11打開VBE編輯器,在工具-引用中引用scrrun.dll字典dll庫。然后在VBAProject工程中插入一個(gè)新模塊,命名為“自定義函數(shù)過程”,在其中粘貼以下代碼:
```vba
Sub pzhmtc()
'自動(dòng)填充憑證號(hào)碼
Dim d As New Dictionary
Dim arr, pzh As Integer, str As String, i As Integer, j As Byte
Dim str1 As String, flagcz As Boolean, temp As Integer
flagcz False
str Year(Sheets(2)) "/" Month(Sheets(2)) Sheets(2).Range("e1")
pzh Sheets(4).Range("b65536").End(xlUp).Row
If pzh > 1 Then
arr Sheets(4).Range("a2:c" pzh)
For i 1 To UBound(arr)
str1 Year(arr(i, 1)) "/" Month(arr(i, 1)) arr(i, 3)
If str str1 Then
flagcz True
d(str1 arr(i, 2)) arr(i, 2)
End If
Next
If flagcz Then
temp (0)
For i 1 To - 1
If (i) > temp Then temp (i)
Next
Sheets(2).Range("e2") temp
Else
Sheets(2).Range("e2") 1
End If
Else
Sheets(2).Range("e2") 1
End If
End Sub
```
設(shè)置工作表事件觸發(fā)自動(dòng)填充
接下來,雙擊Sheet2(錄入憑證),在代碼區(qū)域粘貼以下代碼:
```vba
Private Sub Worksheet_Change(ByVal Target As Range)
'憑證類型變動(dòng)時(shí),自動(dòng)填充憑證號(hào)碼
If "$E$1" Then
Application.EnableEvents False
Call pzhmtc
Application.EnableEvents True
End If
End Sub
```
通過以上設(shè)置,當(dāng)憑證類型發(fā)生變化時(shí),系統(tǒng)將自動(dòng)填充憑證號(hào)碼,提高錄入效率。
實(shí)現(xiàn)憑證號(hào)碼自動(dòng)填充效果
經(jīng)過以上步驟設(shè)置后,在錄入憑證時(shí),系統(tǒng)會(huì)根據(jù)選擇的憑證類型自動(dòng)填充憑證號(hào)碼,簡化操作流程,提升用戶體驗(yàn)。如圖所示,憑證號(hào)碼自動(dòng)填充的效果直觀明了,幫助用戶快速完成記錄工作。
以上是關(guān)于迷你記賬系統(tǒng)制作中錄入憑證時(shí)自動(dòng)填充功能的詳細(xì)解釋和實(shí)現(xiàn)方法。通過合理的VBA代碼編寫和工作表事件設(shè)置,讓記賬過程更加便捷高效,為用戶提供更好的使用體驗(yàn)。