李昕昊 周火明 賴伏虎 徐 俊 鄧娟娟 羅 燕
1 香港大學(xué)深圳醫(yī)院,518000 廣東 深圳; 2 深圳市寶安純中醫(yī)治療醫(yī)院,518101 廣東 深圳
visual basic for applications(簡(jiǎn)稱VBA)是新一代標(biāo)準(zhǔn)宏語言,是基于visual basic for Windows 發(fā)展而來的。它與傳統(tǒng)的宏語言不同,傳統(tǒng)的宏語言不具有高級(jí)語言的特征,沒有面向?qū)ο蟮某绦蛟O(shè)計(jì)概念和方法;而VBA 提供了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,提供了相當(dāng)完整的程序設(shè)計(jì)語言[1]。
VBA沒有自己獨(dú)立的工作環(huán)境,須依附于某一個(gè)主應(yīng)用程序。VBA專門用于Office的各應(yīng)用程序中,如Word、 Excel、 Access等。它的編寫是以子過程和函數(shù)為單位,在 Access中以模塊形式出現(xiàn)。隨著微軟辦公軟件的普遍化,靈活掌握VBA語言的使用,可以讓復(fù)雜的工作簡(jiǎn)易化,減少不必要的重復(fù)性工作,提高工作效率[2-3]。
本文將從醫(yī)院日?qǐng)?bào)制作、每月醫(yī)療質(zhì)量公示數(shù)據(jù)自動(dòng)生成拆分、臨床科室多維度多指標(biāo)數(shù)據(jù)查詢3個(gè)項(xiàng)目闡述VBA在醫(yī)院統(tǒng)計(jì)中的應(yīng)用。
1)首先把門診報(bào)表、病房報(bào)表從BI決策支持系統(tǒng)導(dǎo)出。
2)點(diǎn)擊匯總模板中運(yùn)行按鈕,程序自動(dòng)把門診報(bào)表、病房報(bào)表中對(duì)應(yīng)病區(qū)和科室的入院、出院、轉(zhuǎn)科等數(shù)據(jù)依次進(jìn)行填充。
3)因存在患者出院召回、護(hù)士忘記預(yù)約登記出院等原因,造成BI決策支持系統(tǒng)中數(shù)據(jù)與HIS系統(tǒng)的數(shù)據(jù)不一致,所以需進(jìn)行校核。先導(dǎo)出HIS系統(tǒng)中入院、出院、轉(zhuǎn)科的數(shù)據(jù),再點(diǎn)擊核查模板中運(yùn)行按鈕 ,程序自動(dòng)將匯總模板的數(shù)據(jù)與從HIS系統(tǒng)導(dǎo)出的數(shù)據(jù)進(jìn)行核對(duì)。
4)校核無誤后,點(diǎn)擊日?qǐng)?bào)模板中運(yùn)行按鈕,日?qǐng)?bào)模板自動(dòng)從匯總模板中讀取相關(guān)數(shù)據(jù)進(jìn)行填充,日?qǐng)?bào)模板數(shù)據(jù)填充完成,程序結(jié)束。見圖1。
圖1 醫(yī)院日?qǐng)?bào)制作流程圖
1.2.1 填充門診工作量代碼
Sub huizong_deal()
Application.ScreenUpdating = False ""關(guān)閉屏幕刷新
Application.Calculation = xlCalculationManual ""關(guān)閉自動(dòng)計(jì)算,加快運(yùn)行速度
On Error Resume Next
Dim FilesToOpen, FilesToOpen2, FilesToOpen3, arr1, brr1, arr2, brr2
Dim wb1_name As String, wb2_name As String, wb3_name As String, wb_name As String
Dim wb1 As Workbook, wb2 As Workbook, wb3 As Workbook
Dim i As Integer, j As Integer, i2 As Integer
Dim IRang As Range, IRang2 As Range, IRang3 As Range
ActiveSheet.Select
wb_name = ActiveWorkbook.Name
""填充門診工作量數(shù)據(jù)
FilesToOpen2 = Application.GetOpenFilename("Excel,*.xls;*.xlsx;*.xlsm", , "選擇【門診工作量報(bào)表(???】", , False)
If FilesToOpen2 = False Then
Exit Sub
Else
Set wb2 = Workbooks.Open(FilesToOpen2, 0)
End If
Workbooks(wb_name).Activate
For Each IRang2 In Workbooks(wb_name).ActiveSheet.Range("Q2:Q32")
For Each IRang3 In wb2.Sheets(1).Range("A5:A35")
If IRang2.Value = IRang3.Value Then
Workbooks(wb_name).ActiveSheet.Range("C" & IRang2.Row & ":" & "P" & IRang2.Row).Value = _
wb2.Sheets(1).Range("B" & IRang3.Row & ":" & "O" & IRang3.Row).Value
End If
Next
Next
Workbooks(wb_name).ActiveSheet.Range("Q2:Q32").ClearContents
""關(guān)閉專科表,不保存
wb2_name = wb2.Name
Workbooks(wb2_name).Close False
1.2.2 填充住院工作量代碼
""打開病房日記表,如果不選擇表,則退出
FilesToOpen = Application.GetOpenFilename("Excel,*.xls;*.xlsx;*.xlsm", , "選擇【病房日記表】", , False)
If FilesToOpen = False Then
Exit Sub
Else
Set wb1 = Workbooks.Open(FilesToOpen, 0)
End If
wb1_name = wb1.Name
j = ActiveSheet.Range("A6666").End(xlUp).Row
ActiveSheet.Columns("D:F").Hidden = True′隱藏D:F列
ReDim arr2(1 To j - 1, 1 To 1)
ReDim brr2(1 To j - 1, 1 To 1)
For i2 = 1 To j - 1
If Cells(i2 + 1, 1).Value <> "" Then
arr2(i2, 1) = Cells(i2 + 1, 1)
brr2(i2, 1) = arr2(i2, 1) & Cells(i2 + 1, 3)
Else
arr2(i2, 1) = arr2(i2 - 1, 1)
brr2(i2, 1) = arr2(i2 - 1, 1) & Cells(i2 + 1, 3)
End If
Next
Range("P2:P" & j) = brr2
For i = 1 To j - 1
Windows(wb1_name).Activate
If VBA.IsError(Application.VLookup(Range("P" & i + 1), IRang, 1, 0)) Then
If Range("C" & i + 1).Value <> "" Then
Range("G" & i + 1 & ":L" & i + 1).Interior.ColorIndex = 44
Range("N" & i + 1).Interior.ColorIndex = 44
Else
End If
Else
a = Application.Match(Range("P" & i + 1), IRang, 0)
Workbooks(wb_name).Activate
ActiveSheet.Range("F"&71+a-1&":K"&71+a-1).Value= Workbooks(wb1_name).Sheets(1).Range("G" & i + 1 & ":L" & i + 1).Value
ActiveSheet.Range("M"&71+a-1).Value= Workbooks(wb1_name).Sheets(1).Range("N" & i + 1).Value
End If
Next
Workbooks(wb_name).Activate
ActiveSheet.Range("P71:P888").ClearContents′清除輔助列的數(shù)據(jù)
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
程序運(yùn)行部分截圖見圖2、圖3。
圖2 匯總模板填充門診工作量數(shù)據(jù)
圖3 數(shù)據(jù)自動(dòng)導(dǎo)入日?qǐng)?bào)模板
某編制2 000張病床38個(gè)住院臨床科室的三甲醫(yī)院,在未使用此程序前,統(tǒng)計(jì)員每天需要花費(fèi)4 h完成醫(yī)療運(yùn)營(yíng)日?qǐng)?bào)數(shù)據(jù)的人工填充,校核以及生成,且時(shí)常出現(xiàn)復(fù)制粘貼錯(cuò)誤、數(shù)據(jù)錯(cuò)行等問題。但自從使用VBA編碼程序后,統(tǒng)計(jì)員只需要每天點(diǎn)擊3個(gè)按鈕,依次選擇對(duì)應(yīng)的Excel表格即可快速生成每天醫(yī)療運(yùn)營(yíng)日?qǐng)?bào)。此過程花費(fèi)不到10 min,不但提高了統(tǒng)計(jì)員的工作效率,而且數(shù)據(jù)質(zhì)量也得到了很好的保障。
1)首先收集12個(gè)職能部門關(guān)于臨床科室共90個(gè)醫(yī)療質(zhì)量指標(biāo)和重點(diǎn)手術(shù)、重點(diǎn)病種數(shù)據(jù);
2)對(duì)收集的Excel表格檢查數(shù)據(jù)是否缺漏;
3)核查無誤后,點(diǎn)擊運(yùn)行程序,輸入即將生成醫(yī)療質(zhì)量公示數(shù)據(jù)的年月份,點(diǎn)擊確認(rèn),等待程序運(yùn)行結(jié)束,共生成38個(gè)臨床科室醫(yī)療質(zhì)量公示數(shù)據(jù)表。
2.2.1 讀取重點(diǎn)疾病和手術(shù)的路徑、輸入年月份的代碼
Sub 醫(yī)療公示數(shù)據(jù)()
Application.ScreenUpdating = False′關(guān)閉屏幕更新
Application.DisplayAlerts = False′關(guān)閉警告開關(guān)
Dim FilesToOpen1, FilesToOpen2
Dim n As Byte, i As Byte, j As Byte, m As Byte, s As Byte
Dim wb1 As Workbook, wb2 As Workbook, wb1_again As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Dim wb1_name As String, wb2_name As String, New_wb1_name As String, FilesAllname As String, NameLineName As String
Dim x1 As Integer, y1 As Long
Dim New_name, New_Path′定義新名稱,新路徑
Dim wb3 As Workbook, k As Byte, w As Byte, g As Byte
Dim yuefen As String′定義月份的文字
""需要確認(rèn)是否修改了讀取重點(diǎn)疾病和手術(shù)的路徑,避免讀取其他月份的數(shù)據(jù)
TS = MsgBox("是否已經(jīng)更新重點(diǎn)疾病和手術(shù)手術(shù)的當(dāng)月路徑?", vbYesNo)
If TS <> vbYes Then
Exit Sub
Else
End If
""主動(dòng)輸入月份,避免忘記修改月份
yuefen = InputBox("請(qǐng)輸入年月份", "hello", , 2500, 3500)
""??浦攸c(diǎn)疾病數(shù)據(jù)處理部分
Set wb1 = ActiveWorkbook
wb1_name = ActiveWorkbook.Name
FilesAllname = ActiveWorkbook.Path & "”& wb1_name '獲取路徑和名稱,方便最后重新打開
New_Path = wb1.Sheets("指標(biāo)數(shù)據(jù)抽取").Range("B6").Value ′最終導(dǎo)出文件的路徑
""New_name = wb1.Sheets("指標(biāo)數(shù)據(jù)抽取").Range("B3").Value
FilesToOpen1 = wb1.Sheets("指標(biāo)數(shù)據(jù)抽取").Range("B1").Value′讀取重點(diǎn)疾病數(shù)據(jù)路徑
FilesToOpen2 = wb1.Sheets("指標(biāo)數(shù)據(jù)抽取").Range("B2").Value′讀取重點(diǎn)手術(shù)數(shù)據(jù)路徑
2.2.2 遍歷文件夾讀取即將生成的科室名稱
""通過讀取文件夾的方式復(fù)制每個(gè)工作簿的那一行科室名稱
f_name = Dir(wb1.Path & "〔.xlsx") ′搜索當(dāng)前文件夾
Do While f_name <> ""
wb1_name = ActiveWorkbook.Name
Set wb1 = ActiveWorkbook
If f_name <> wb1_name Then
Set wb3 = Workbooks.Open(wb1.Path & "、" & f_name)
For w = 1 To wb3.Sheets.Count
For g = 1 To wb1.Sheets.Count
If wb3.Sheets(w).Name = wb1.Sheets(g).Name Then
If wb3.Sheets(w).Name = "基本質(zhì)控指標(biāo)" Or wb3.Sheets(w).Name = "基本質(zhì)控指標(biāo) --IMC" Then
k = wb3.Sheets(w).UsedRange.Columns.Count
wb3.Sheets(w).Activate
wb3.Sheets(w).Range(Cells(2, 5), Cells(2, k)).Copy
wb1.Sheets(g).Activate
wb1.Sheets(g).Cells(2, 5).PasteSpecial Paste:=xlPasteValues
wb1.Sheets(g).Range(Cells(1, 1), Cells(1, k)).Merge ""合并標(biāo)題單元格
wb1.Sheets(g).Range(Cells(2, 5), Cells(2, k)).Columns.AutoFit ""自動(dòng)調(diào)節(jié)列寬
wb1.Sheets(g).Columns(k + 1).Resize(, 20 - k).Delete
End If
End If
Next
Next
On Error Resume Next
Dim arr1, d As Object ""字典,刪除多余的表
Set d = CreateObject("scripting.dictionary")
ReDim arr1(1, 1 To wb3.Sheets.Count)
For w = 1 To wb3.Sheets.Count
arr1(1, w) = wb3.Sheets(w).Name
d(arr1(1, w)) = ""
Next
For g = 1 To wb1.Sheets.Count
If d.exists(wb1.Sheets(g).Name) Then
Else
wb1.Sheets(g).Delete
g = g - 1
End If
Next
Set d = Nothing
Set arr1 = Nothing
End If
wb3.Close False
f_name = Dir′找尋下一個(gè)excel文件,否則無限循環(huán)
2.2.3 讀取各科室重點(diǎn)疾病數(shù)據(jù)代碼
""專科重點(diǎn)疾病數(shù)據(jù)處理部分
Sub Savetime(ws1 As Worksheet, ws2 As Worksheet)
On Error Resume Next "如果后面的程序出現(xiàn)"運(yùn)行時(shí)錯(cuò)誤"時(shí),會(huì)繼續(xù)運(yùn)行,不中斷
Application.ScreenUpdating = False′關(guān)閉屏幕更新
Application.DisplayAlerts = False′關(guān)閉警告開關(guān)
Dim IRange As Range
Set IRange = ws2.Range("F:F")
ws1.Activate
x1 = ws1.UsedRange.Columns.Count′讀取第二行的列數(shù),方便統(tǒng)計(jì)有幾個(gè)科室
ws1.Rows(2).Insert
For n = 4 To x1
ActiveSheet.Cells(2, n) = Application.WorksheetFunction.CountIf(IRange, Cells(3, n))
Next
y1 = Application.WorksheetFunction.Max(Range(Cells(2, 4), Cells(2, x1)))
Set ws1 = ActiveSheet
ActiveSheet.Range(Cells(4, 1), Cells(4 + (y1 - 1) * 9, 1)).Merge
For j = 4 To x1
m = 0
For i = 3 To ws2.Range("F6666").End(xlUp).Row
If ws1.Cells(3, j) = ws2.Cells(i, 6) Then
m = m + 1
If m = 1 Then
ws2.Activate
ws2.Range(Cells(i, 7), Cells(i, 15)).Copy
ws1.Activate
ws1.Cells(4, j).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Else
ws2.Activate
ws2.Range(Cells(i, 7), Cells(i, 15)).Copy
ws1.Activate
ws1.Cells(4 + 9 * (m - 1), j).PasteSpecial Paste:=xlPasteValues, Transpose:=True
End If
End If
Next
Next
wb1.Activate
ws1.Rows(2).Delete′刪除輔助行
ws1.Range("B3").Select′凍結(jié)窗體
ActiveWindow.FreezePanes = True
ws1.Rows("3:" & ws1.Range("B6666").End(xlUp).Row).AutoFit""自動(dòng)調(diào)節(jié)行距
End Sub
程序運(yùn)行部分截圖見圖4。
圖4 生成38個(gè)科室醫(yī)療質(zhì)量公示數(shù)據(jù)Excel文件
每月共38個(gè)臨床科室,每個(gè)科室90個(gè)醫(yī)療質(zhì)控指標(biāo)和重點(diǎn)病種、重點(diǎn)手術(shù)明細(xì)數(shù)據(jù),如果人工處理,統(tǒng)計(jì)員需要花費(fèi)1 周的時(shí)間才能整理完成,并且數(shù)據(jù)經(jīng)常出現(xiàn)錯(cuò)漏的情況,數(shù)據(jù)質(zhì)量得不到保障。自從統(tǒng)計(jì)員使用此VBA程序后,效率快速提高,每月花費(fèi)時(shí)
間不超過1 h就能完成,不再出現(xiàn)復(fù)制粘貼有誤、錯(cuò)行等原因?qū)е聰?shù)據(jù)出錯(cuò)的現(xiàn)象。
醫(yī)院門診、住院基本醫(yī)療數(shù)據(jù)查詢需求量大,且時(shí)常要求統(tǒng)計(jì)員短時(shí)間內(nèi)統(tǒng)計(jì)出結(jié)果,需求涉及三級(jí)公立醫(yī)院績(jī)效考核數(shù)據(jù)、住院醫(yī)師培訓(xùn)基地督導(dǎo)、重點(diǎn)??粕陥?bào)、科室診療質(zhì)量基線調(diào)研、“3名工程”等。如果統(tǒng)計(jì)員使用廣東省病案統(tǒng)計(jì)管理系統(tǒng)軟件查詢數(shù)據(jù),不僅費(fèi)時(shí)費(fèi)力,而且存在軟件運(yùn)行效率低,操作不便等問題。所以運(yùn)用VBA語言和數(shù)據(jù)庫(kù)的原理研發(fā)Access多指標(biāo)數(shù)據(jù)查詢數(shù)據(jù)庫(kù),讓數(shù)據(jù)查詢速度更快,操作更加靈活便捷[4]。
3.2.1 更新基礎(chǔ)數(shù)據(jù)中住院架構(gòu)代碼
Sub GX更新住院架構(gòu)_Click()
DoCmd.Close acTable, "A新住院架構(gòu)" '先關(guān)閉,否則會(huì)引起錯(cuò)誤值
Call AddFile
If Len(AddFileName) = 0 Then
MsgBox "未選取工作簿,退出導(dǎo)入!", vbInformation + vbOKOnly, "信息提示"
Exit Sub
End If
ACName = CurrentProject.Name
' On Error GoTo End_Sub
Err.Clear′清除錯(cuò)誤值
DoCmd.SetWarnings False′忽略警示
DoCmd.RunSQL "delete * From A新住院架構(gòu)"
DoCmd.RunSQL "insert into A新住院架構(gòu)(序號(hào),大專科管理科室,??乒芾砜剖?亞專科,績(jī)效單元,直報(bào)分科單元,住院類型,科室名稱,HIS科號(hào),統(tǒng)一科號(hào)病案,維護(hù)科號(hào)病案)"&
_ "select 序號(hào),大??乒芾砜剖???乒芾砜剖?亞專科,績(jī)效單元,直報(bào)分科單元,住院類型,科室名稱,HIS科號(hào),統(tǒng)一科號(hào)病案,維護(hù)科號(hào)病案"& _
DoCmd.SetWarnings True′恢復(fù)警示
MsgBox "住院架構(gòu)更新導(dǎo)入成功!", vbInformation + vbOKOnly, "信息提示"
Exit Sub
End_Sub:
DoCmd.SetWarnings True′恢復(fù)警示
Msg = "錯(cuò)誤編號(hào) #"& Str(Err.Number) & "出錯(cuò)原因" _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
End Sub
Function AddFile()
Dim FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogOpen)
With FD
.FilterIndex = 15
.InitialFileName = ""
If .Show = -1 Then
AddFileName = .SelectedItems(1)
Else
AddFileName = ""
Exit Function
End If
End With
End Function
3.2.2 住院工作量多指標(biāo)數(shù)據(jù)查詢代碼
""住院工作量
strsql = "SELECT A新住院架構(gòu).序號(hào), A新住院架構(gòu).大??乒芾砜剖? A新住院架構(gòu).??乒芾砜剖? A新住院架構(gòu).亞??? A新住院架構(gòu).績(jī)效單元, " _
& "A新住院架構(gòu).直報(bào)分科單元, A新住院架構(gòu).住院類型,A新住院架構(gòu).HIS科號(hào), 多指標(biāo)源數(shù)據(jù)表.年月, " _
& zyzblx2 _
& " FROM A新住院架構(gòu) INNER JOIN 多指標(biāo)源數(shù)據(jù)表 ON A新住院架構(gòu).HIS科號(hào) = 多指標(biāo)源數(shù)據(jù)表.HIS科號(hào)"
Set zysql = CurrentDb.CreateQueryDef("過程表", strsql)
strsql2 = "PARAMETERS [Forms]![多指標(biāo)數(shù)據(jù)查詢]![dzb_start時(shí)間] Text ( 255 ), [Forms]![多指標(biāo)數(shù)據(jù)查詢]![dzb_finish時(shí)間] Text ( 255 ), " _
& "[Forms]![多指標(biāo)數(shù)據(jù)查詢]![dzb_架構(gòu)類型] Short;" _
& " SELECT 過程表.大專科管理科室," & Forms!多指標(biāo)數(shù)據(jù)查詢!dzb_架構(gòu)類型 & "," & zyzblx _
& " FROM 過程表 " _
& "WHERE 過程表.住院類型 In (" & qylx & ")" _
& "And (int(過程表.年月) " _
& "Between Forms!多指標(biāo)數(shù)據(jù)查詢!dzb_start時(shí)間 And Forms!多指標(biāo)數(shù)據(jù)查詢!dzb_finish時(shí)間)" _
& " GROUP BY 過程表.序號(hào),過程表.大??乒芾砜剖?" & Forms!多指標(biāo)數(shù)據(jù)查詢!dzb_架構(gòu)類型 & " ORDER BY 過程表.序號(hào)"
Set zysql2 = CurrentDb.CreateQueryDef("多指標(biāo)數(shù)據(jù)查詢住院-" & qylxmc, strsql2) ""
DoCmd.OpenQuery zysql2.Name
Application.Echo True ""啟用刷寫屏幕
程序運(yùn)行部分截圖見圖5、圖6。
圖5 Access多指標(biāo)數(shù)據(jù)查詢主界面
圖6 Access多指標(biāo)數(shù)據(jù)查詢結(jié)果(模擬數(shù)據(jù))
通過Access數(shù)據(jù)庫(kù)的研發(fā),醫(yī)院統(tǒng)計(jì)員每次只需要選擇符合的統(tǒng)計(jì)范圍和指標(biāo)類型,選擇展現(xiàn)的架構(gòu)類型,單擊查詢按鈕運(yùn)行程序,數(shù)據(jù)便會(huì)快速呈現(xiàn),而不再使用廣東省病案統(tǒng)計(jì)管理系統(tǒng)或撰寫SQL腳本在SQL server數(shù)據(jù)庫(kù)客戶端進(jìn)行查詢,效率得到很大的提升。前期通過對(duì)Access數(shù)據(jù)庫(kù)研發(fā),可以根據(jù)自己的需求進(jìn)行靈活設(shè)計(jì),統(tǒng)計(jì)員平時(shí)只需維護(hù)基礎(chǔ)表即可。Access數(shù)據(jù)庫(kù)的使用保障了數(shù)據(jù)的穩(wěn)定性,不會(huì)隨著業(yè)務(wù)數(shù)據(jù)的變動(dòng)或人為誤操作而造成不同時(shí)間查詢的指標(biāo)數(shù)據(jù)不一致的現(xiàn)象,并且使用界面簡(jiǎn)潔,非專業(yè)編程人員也能熟悉使用。
本文通過3個(gè)項(xiàng)目實(shí)例,介紹了VBA在醫(yī)院統(tǒng)計(jì)領(lǐng)域的應(yīng)用。VBA不僅能幫助醫(yī)院統(tǒng)計(jì)員從日常重復(fù)枯燥的工作中擺脫出來,提高工作效率,從而專注于更高質(zhì)量的腦力勞動(dòng),而且能保證數(shù)據(jù)質(zhì)量。在醫(yī)院信息化建設(shè)程度不高且沒有更好的BI決策系統(tǒng)或RPA機(jī)器人等輔助工具的情況下[5],采用VBA編程是一個(gè)不錯(cuò)的選擇。VBA 易于學(xué)習(xí)掌握,醫(yī)院統(tǒng)計(jì)員在日常工作中也可以使用宏記錄器記錄用戶的各種操作并將其轉(zhuǎn)換為VBA代碼[6],快速將日常工作轉(zhuǎn)換為VBA 程序代碼,使工作自動(dòng)化。如遇到更復(fù)雜的需求,則需要了解VBA編程的編寫邏輯,或者RPA機(jī)器人平臺(tái)的“錄像(record)”/“編輯(edit)”功能??傊?,VBA是適用于醫(yī)院統(tǒng)計(jì)應(yīng)用場(chǎng)景的一種較好的工具,醫(yī)院統(tǒng)計(jì)人員可在實(shí)際工作中掌握使用。