夏麗萍
[摘要] 備用金管理是會(huì)計(jì)日常業(yè)務(wù)之一,本文針對(duì)備用金管理中存在的問(wèn)題,通過(guò)運(yùn)用VBA程序?qū)崿F(xiàn)Excel表格中的一些功能,使得備用金沖賬及結(jié)算業(yè)務(wù)變得簡(jiǎn)單清晰,節(jié)省了會(huì)計(jì)人員的時(shí)間和精力,同時(shí)也為借款人理清了思路。
[關(guān)鍵詞] 備用金;Excel;VBA
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 20. 004
[中圖分類號(hào)]F232[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1673 - 0194(2012)20- 0007- 03
在日常會(huì)計(jì)報(bào)賬中,備用金沖借及余額查詢是每個(gè)單位不可避免而且很頻繁的業(yè)務(wù),隨著經(jīng)濟(jì)業(yè)務(wù)內(nèi)容及進(jìn)展不同,借款及沖賬次數(shù)逐漸增多,時(shí)間稍長(zhǎng),借款人往往都搞不清自己哪些沖了,哪些沒(méi)沖,報(bào)賬會(huì)計(jì)面對(duì)眾多的借款者查賬、對(duì)賬、報(bào)賬、審核報(bào)賬單等工作,往往疲于應(yīng)對(duì),尤其是到了年底決算的時(shí)候,會(huì)計(jì)業(yè)務(wù)增多,時(shí)間緊的情況下,這一問(wèn)題顯得更為突出,經(jīng)過(guò)摸索發(fā)現(xiàn)在實(shí)際工作中通過(guò)Excel就可解決這一問(wèn)題,以下簡(jiǎn)述解決的方法步驟。
1方法簡(jiǎn)述
用Excel表格做備用金結(jié)算單如表1。
按表中欄目只需填寫(xiě)沖賬內(nèi)容及分項(xiàng)目小寫(xiě)金額,摘要按箭頭下拉菜單選擇,合計(jì)欄就會(huì)自動(dòng)出現(xiàn)大小寫(xiě)合計(jì)金額,鼠標(biāo)點(diǎn)擊借款金額處,就會(huì)出現(xiàn)如圖的輸入窗口,在此窗口中只要輸入借款金額和實(shí)收現(xiàn)金兩項(xiàng),報(bào)銷金額、應(yīng)付金額、結(jié)欠金額就會(huì)自動(dòng)計(jì)算出現(xiàn)。
通過(guò)以上簡(jiǎn)單操作,可以發(fā)現(xiàn)報(bào)賬會(huì)計(jì)一方面可免去報(bào)銷單據(jù)大小寫(xiě)不一致及摘要規(guī)范性審核,另一方面不需重復(fù)為報(bào)銷人查備用金余額。
2實(shí)現(xiàn)表格內(nèi)容的程序
以上表格中的內(nèi)容通過(guò)Office中的VBA編寫(xiě)以下程序就可實(shí)現(xiàn)
Private blW As Boolean, blJ As Boolean
Function ConverUpper(ByVal C As Double) As String
Dim T As Double, G As Long, S As String, D As Integer
If C = 0 Then
ConverUpper = "合計(jì)(大寫(xiě))"
Exit Function
End If
If C < 0.1 Then
ConverUpper = "合計(jì)(大寫(xiě))" & UpperC(C *100) & "分"
Exit Function
End If
If C < 1 Then
blJ = False
ConverUpper = "合計(jì)(大寫(xiě))" & JF(C * 100)
Exit Function
End If
G = Int(C / 10000)
blW = False
If G > 0 Then
T = C - G *10000
Else
T = C
End If
D = (T - Int(T))* 100
T = Int(T)
If G > 0 Then
S = Conver(G) & "萬(wàn)"
blW = True
End If
blJ = False
S = S & Conver(T) & "元"
ConverUpper = "合計(jì)(大寫(xiě))" & S
If D = 0 Then
ConverUpper = ConverUpper & "整"
Else
ConverUpper = ConverUpper & JF(D)
End If
End Function
Private Sub Workbook_Open()
Range("C3") = "結(jié)算日期:" & Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"
Range("E5").Value = "1、借款金額/元"
Range("E6").Value = "2、報(bào)銷金額" & Format(Range("D12").Value, "#######0.00") & "元"
Range("E7").Value = "3、應(yīng)付金額/元"
Range("E8").Value = "應(yīng)付現(xiàn)金/元"
Range("E9").Value = "結(jié)欠金額/元"
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim G As Double, V As Double, strUpper As String
If Target.Column <> 4 Then Exit Sub
If Target.Row < 4 Then Exit Sub
If Target.Row > 11 Then Exit Sub
On Error GoTo EX:
G = Target.Value
V = Range("D12").Value
Range("E6").Value = "2、報(bào)銷金額" & Format(CStr(V), "#######0.00") & "元"
Range("A12:C12").Value = ConverUpper(V)
Exit Sub
EX:
Range("A12:C12").Value = "合計(jì)(大寫(xiě))"
End Sub
Function Conver(ByVal N As Double) As String
Dim W As Integer, Q As Integer, B As Integer, S As Integer, G As Integer
Dim sW As String, sQ As String, sB As String, sS As String, sG As String
W = Int(N / 10000)
If W > 0 Then
sW = UpperC(W) & "萬(wàn)"
N = N - W*10000
End If
If N = 0 Then GoTo EX
Q = Int(N / 1000)
If Q = 0 Then
If blW = True Then sQ = "零"
If W > 0 Then sQ = "零"
Else
sQ = UpperC(Q) & "仟"
N = N - Q* 1000
End If
If N = 0 Then GoTo EX
B = Int(N / 100)
If B = 0 Then
If Q > 0 Then sB = "零"
Else
sB = UpperC(B) & "佰"
N = N - B * 100
End If
If N = 0 Then GoTo EX
S = Int(N / 10)
If S = 0 Then
If B > 0 Then sS = "零"
Else
sS = UpperC(S) & "拾"
N = N - S*10
End If
EX: If N = 0 Then
blJ = True
End If
If N > 0 Then
sG = UpperC(N)
End If
Conver = sW & sQ & sB & sS & sG
End Function
Function UpperC(ByVal N As Integer) As String
Select Case N
Case 0
UpperC = "零"
Case 1
UpperC = "壹"
Case 2
UpperC = "貳"
Case 3
UpperC = "叁"
Case 4
UpperC = "肆"
Case 5
UpperC = "伍"
Case 6
UpperC = "陸"
Case 7
UpperC = "柒"
Case 8
UpperC = "捌"
Case 9
UpperC = "玖"
End Select
End Function
Function JF(ByVal F As Integer) As String
Dim sJ As String, sF As String
Dim Jiao As Integer, Fen As Integer
Jiao = Int(F / 10)
Fen = F - Jiao * 10
If Jiao = 0 Then
sJ = "零"
Else
If blJ = True Then
sJ = "零" & UpperC(Jiao) & "角"
Else
sJ = UpperC(Jiao) & "角"
End If
End If
If Fen = 0 Then
sJ = sJ & "整"
Else
sF = UpperC(Fen) & "分"
End If
JF = sJ & sF
End Function
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 2 And (Target.Row > 4 And Target.Row < 12) Then
frmMain.Top = Target.Cells.Top + 100
frmMain.Left = Target.Cells.Left + 100
Set R = Target
frmMain.Show
End If
If Target.Column = 5 And Target.Row = 5 Then
frmCount.Top = Target.Cells.Top + 100
frmCount.Left = Target.Cells.Left + 100
Set R = Target
frmCount.Show
End If
If Target.Column = 1 And Target.Row = 2 Then
frmMain.Top = Target.Cells.Top + 100
frmMain.Left = Target.Cells.Left + 100
Set R = Target
frmMain.Caption = "報(bào)銷單位"
frmMain.Show
End If
End Sub
3結(jié)論
以上方法在我單位財(cái)務(wù)工作中嘗試應(yīng)用,實(shí)踐證明,取得了一定的成效,為財(cái)會(huì)人員節(jié)省了時(shí)間和精力,同時(shí)也使得借款人每次報(bào)銷沖賬時(shí),都能清楚自己的備用金余額,免去理不清頭緒,互相指責(zé)的煩惱,受到財(cái)會(huì)人員及借款人的歡迎。