亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Excel Visual Basic應用程序在醫(yī)院醫(yī)用耗材管理中的應用分析

        2019-03-07 08:41:56馮錦麗
        中國醫(yī)學裝備 2019年2期
        關鍵詞:選項卡耗材表格

        朱 俊 馮錦麗

        醫(yī)院耗材管理形式上是數(shù)據(jù)統(tǒng)計,本質(zhì)上是數(shù)據(jù)處理,主要包括數(shù)據(jù)的錄入、出入庫、盤庫及其數(shù)據(jù)統(tǒng)計工作,最終實現(xiàn)賬物相符。數(shù)據(jù)統(tǒng)計方面,通常需要對多方數(shù)據(jù)進行提取、篩選、排序、函數(shù)和公式、分類匯總、數(shù)據(jù)透視表、數(shù)據(jù)比對、數(shù)據(jù)維護等單項或綜合性的操作處理。而上述這些高級應用,絕大部分應用者在日常應用中的選項卡或多重綜合重復處理即可實現(xiàn),但是對于不同權限用戶管理、多重數(shù)據(jù)比對等,采用簡單的統(tǒng)計處理將難以為繼,需要采用高級編程功能實現(xiàn)。

        通常,醫(yī)院的各類數(shù)據(jù)管理采用數(shù)據(jù)庫形式,而醫(yī)院的醫(yī)院信息系統(tǒng)在耗材管理方面,其搭載的子系統(tǒng)為物資管理程序(簡稱系統(tǒng)),版本號Ver 2.9.3。該系統(tǒng)軟件是由PB語言編程,后臺數(shù)據(jù)庫采用ORACLE數(shù)據(jù)庫管理系統(tǒng)[1]。該軟件客觀記錄了入庫、出庫、網(wǎng)上請領、在線查詢庫存、采購管理、目錄(價格)維護等日常操作業(yè)務,還可以物資盤點、賬務管理等一系列綜合查詢,能出具出入庫報表、明細報表等統(tǒng)計報表。但該系統(tǒng)導出的數(shù)據(jù),不能分級實施權限管理和自動進行數(shù)據(jù)比對,為此需運用基于Excel的Visual Basic應用程序(Visual Basic application,VBA)編寫一段醫(yī)用耗材管理程序解決該問題?;诖?,本研究結合Microsoft的Excel,采用Office 2007版進行初步處理,運用編程的方法快速、精準及高效地進行醫(yī)用耗材管理。

        1 Excel VBA程序概述

        VBA區(qū)別于傳統(tǒng)的宏語言、腳本語言,是一種面向?qū)ο蟮某绦蛟O計方法,提供完整的程序設計語言。Excel VBA是Office一個應用程序套件,內(nèi)嵌了功能強大的VB編程語言,用來開發(fā)自定義Office解決方案。由于VBA的存在,Office就不僅僅是應用程序,更是一個開發(fā)平臺,計算機用戶可以利用VBA對Office進行二次開發(fā),極大擴展其功能[2-3]。

        VBA在Excel中的編程平臺是Visual Basic編輯器(Visual Basic editor,VBE)[4]。有兩種VBE打開方式:①快捷鍵方法,Alt+F11,F(xiàn)7代碼窗口;②選項卡方法,在“開發(fā)工具”選項卡中,代碼窗體中點“Visual Basic”或“控件”窗體中,點“設計模式”或通過雙機控件查看后臺代碼。如果未顯示“開發(fā)工具”選項卡,則Office按鈕Word選項常用勾選“在功能區(qū)顯示‘開發(fā)工具’選項卡”。運行也有兩種方法,即快捷鍵F5和運行“運行子程序/用戶窗體”。

        Excel工作簿的存在包含關系,一般工作表sheet∈工作薄workbook,即一個工作薄中一般有多個工作表sheet,默認狀態(tài)有3個工作表,即Sheet1、Sheet2和Sheet3,根據(jù)需要還可以新建工作表Sheet。一般導出的excel表默認的將數(shù)據(jù)存放在第一張工作表Sheet1中默認此命名,Sheet2、Sheet3為空白表,無數(shù)據(jù),可視情況加入導入數(shù)據(jù)。

        2 Excel VBA程序設計

        2.1 設計思想

        充分實現(xiàn)海量數(shù)據(jù)的統(tǒng)計、篩選及比對。編程設計中需要注意:①盡量使用系統(tǒng)中導出的數(shù)據(jù),盡量不要人為編輯、干預及錯誤,以免格式、字符等更改導致無法調(diào)試出程序;②編程是非常嚴謹?shù)墓ぷ?,命名、語句、換行符以及非法字符必須嚴格符合語句定義,否則任何一個環(huán)節(jié)都可能無法調(diào)試出程序;③要理清設計思路,精心編程,查找問題,分析解決問題。如If…Then…后面的語句,如果只有一句命令的話,Then后面不需要換行,否則容易出現(xiàn)編譯錯誤,無法調(diào)試結果。

        2.2 不同工作表的權限管理

        導出一個工作薄的不同工作表,對其登錄權限區(qū)別管理,對不同用戶使用不同的登錄權限:①管理員,賦予打開所有表格權限,并且可編輯修改等;②普通職員,僅限于自己的個人權限,只能查看,不可編輯修改,從而實現(xiàn)不同人員權限的登錄管理[5-6]。

        2.3 數(shù)據(jù)比對

        物資管理系統(tǒng)中導出兩張表格或工作薄,對兩張表格≥2行/列元素,如4列的表格進行一一比對。如果所比較對象的4行/列元素完全一致,則標記為相同的條目;否則任何一行/列不一致,則不作標記,從而確定兩張表中的物資是否為同一條物資目錄。

        3 Excel VBA程序?qū)崿F(xiàn)

        3.1 不同工作表的權限管理

        進入VBE界面,左側(cè)的“工程”窗口中ThisWorkbook選擇Workbook_Open事件的程序如下:

        Private Sub workbook_open()

        Application.visible = False: Userform1.show'登錄界面的顯示和控制

        End Sub

        繼續(xù)在VBE界面,左側(cè)的“工程”窗口中或插入用戶窗體,雙擊“UserForm1”。在控件工具中插入兩個標簽label、兩個文本框Text、兩個命令按鈕CommandButton。并對各自的屬性、字體格式等相關修改,其中密碼文本框PasswordChar的屬性設置為“*”[7-8]。

        “登錄”命令按鈕CommandButton1下的Click,對應的程序如下:

        Private Sub CommandButton1_Click()

        If TextBox1.Text="a" And TextBox2.Text="123" Then'管理用戶a登錄

        UserForm1.Hide

        For i=1 To Sheets.Count

        Sheets(i).Visible=True'顯示Sheet1、Sheet2、Sheet3全部工作表

        Next i

        ElseIf TextBox1.Text="s1" And TextBox2.Text="123" Then's1用戶登錄

        UserForm1.Hide

        Sheets(1).Visible=True'只顯示Sheet1工作表Sheets(2).Visible=False

        Sheets(3).Visible=False

        Sheets(1).Protect'保護Sheet1工作表

        ElseIf TextBox1.Text="s2" And TextBox2.Text="123" Then's2用戶登錄

        UserForm1.Hide

        Sheets(1).Visible=False

        Sheets(2).Visible=True'只顯示Sheet2工作表

        Sheets(3).Visible=False

        Sheets(2).Protect'保護Sheet2工作表

        ElseIf TextBox1.Text="s3" And TextBox2.Text="123" Then's3用戶登錄

        UserForm1.Hide

        Sheets(1).Visible=False

        Sheets(2).Visible=False

        Sheets(3).Visible=True'只顯示Sheet3工作表Sheets(3).Protect'保護Sheet3工作表

        Else

        MsgBox "用戶名或密碼錯誤,請重新登錄!"End If

        End Sub

        其中,可見采用Protect可以實現(xiàn)編輯保護功能,同理,若取消保護則用Unprotect即可。

        “退出”命令按鈕CommandButton2下的Click,對應的程序如下:

        Private Sub CommandButton2_Click()

        Unload Me

        ThisWorkbook.Close

        End Sub

        3.2 數(shù)據(jù)比對

        (1)方法一。從系統(tǒng)中導出兩張表后,同時放在同一工作簿的不同工作表中,原始的表格為默認的Sheet1,當前待處理表格為默認的Sheet2,空表表默認Sheet3閑置,不用處理。

        Private Sub 數(shù)據(jù)比對()

        Dim i As Integer, j As Integer

        Dim M As Integer, N As Integer

        M=Sheets(1).UsedRange.Rows.Count'M為初始表格行數(shù)

        N=Sheets(2).UsedRange.Rows.Count'N為當前表行數(shù)

        If M<=N Then

        For i=2 To M

        For j=2 To N

        If Sheets(1).Cells(i, 1)=Sheets(2).Cells(j,1)Then

        If Sheets(1).Cells(i,2)=Sheets(2).Cells(j,2)Then

        If Sheets(1).Cells(i,3)=Sheets(2).Cells(j,3)Then

        If Sheets(1).Cells(i,4)=Sheets(2).Cells(j,4)Then

        Sheets(1).Cells(i,5)="*" '條目有相同,則標記為"*",并放在Sheet1工作表的第5列中

        End If

        End If

        End If

        End If Next j Next i Else

        MsgBox "初始表Sheet1和待處理表Sheet2行數(shù)比對溢出,請調(diào)整行數(shù)!"

        End If

        End Sub

        (2)方法二。系統(tǒng)中直接導出兩張不同的表格,并放在D盤中,原始表命名為m,當前待處理表格命名為n。

        Sub 數(shù)據(jù)比對()

        Dim i As Integer, j As Integer

        Dim M As Integer, N As Integer

        Dim goods1_name As String, goods2_name As String

        Dim goods1_type As String, goods2_type As String

        Dim goods1_unit As String, goods2_unit As String

        Dim goods1_manufacturer As String, goods2_manufacturer As String

        Application.ScreenUpdating=False

        Workbooks.Open "D: M.XLS"

        M=ThisWorkbook.Sheets(1).UsedRange.Rows.Count'M為初始表格行數(shù)

        N=ActiveWorkbook.Sheets(1).UsedRange.Rows.Count'N為當前表行數(shù)

        For i=2 To M

        goods1_name=ThisWorkbook.Sheets(1).Cells(i,1)

        goods1_type=ThisWorkbook.Sheets(1).Cells(i,2)

        goods1_unit=ThisWorkbook.Sheets(1).Cells(i,3)

        goods1_manufacturer=ThisWorkbook.Sheets(1).Cells(i,4)

        For j=2 To N

        goods2_name=ActiveWorkbook.Sheets(1).Cells(j,1)

        goods2_type=ActiveWorkbook.Sheets(1).Cells(j,2)

        goods2_unit=ActiveWorkbook.Sheets(1).Cells(j,3)

        goods2_manufacturer=ActiveWorkbook.Sheets(1).Cells(j,4)

        If goods1_name=goods2_name And goods1_type=goods2_type And goods1_unit=goods2_unit And goods1_manufacturer=goods2_manufacturer Then

        ThisWorkbook.Sheets(1).Cells(i,5)="*" '標記相同條目為“*”,并放在第5列

        End If

        Next j

        Next i

        ActiveWorkbook.Close

        Application.ScreenUpdating=True

        End Sub

        可見,用上述兩種方法運行比較得出,方法一較方法二算法更簡潔,速度更快,更節(jié)約運行時間。

        4 Excel VBA程序運行結果

        4.1 不同工作表的權限管理

        根據(jù)設計思路,編程調(diào)試實現(xiàn)后,對應其運行結果。雙擊打開工作簿,即跳轉(zhuǎn)進入登錄界面窗體,當?shù)卿洖楣芾韱T用戶a和密碼123時,工作簿下的所有工作表Sheet1、Sheet2及Sheet3全部顯示,無保護狀態(tài),可自由編輯、更改;當?shù)卿洖閟1且密碼123時,只顯示Sheet1表且處于保護狀態(tài),不可編輯、更改,而Sheet2 、Sheet3隱藏不顯示;……;類推,只顯示Sheet2表和Sheet3表。如果登錄的賬戶名或密碼任意一項有錯或無輸入,如輸入錯誤用戶名“aa”,則提示“用戶名或密碼錯誤,請重新登錄!”[1]對話框,其權限管理界面如圖1所示。

        圖1 權限管理界面圖

        圖2 多重數(shù)據(jù)比對界面圖

        4.2 數(shù)據(jù)比對

        對物資名稱、規(guī)格、單位及廠家4個條件同時完全相同的條目進行價格對照,比較2008年的入庫價與2010年建立的現(xiàn)行仍在執(zhí)行的價格,如果價格不一樣的條目,則用星號“*”標記出來。常常應用在醫(yī)院與京津冀價格比較、調(diào)價,前后目錄庫比對(如圖2所示)。

        Sheet1中比對結果表中的第2行名稱為“11F尿試紙條”與Sheet2中的第4行名稱為“11F尿試紙條”,其規(guī)格、單位及廠家3個條件也完全一致,則在Sheet1的第五列E列用星號“*”標記。類比其他數(shù)據(jù),對應的比對相同的結果,從而實現(xiàn)海量數(shù)據(jù)的相同項的比對。

        Sheet1中比對結果表中的第5行名稱為“ABORH血型確認卡”與Sheet2中的第8行名稱為“ABORH血型確認卡”,雖然其名稱、單位及廠家3個條件相同,但其規(guī)格“8孔/卡,4*12卡/盒”“8孔/卡,2*25卡/盒”不同而得以區(qū)分。相反,Sheet1中比對結果表中的第6行名稱也為“ABO-RH血型確認卡”,與Sheet2中的上述的完全一致,而被標記星號“*”。類比其他數(shù)據(jù),比對不相同的結果,從而實現(xiàn)海量數(shù)據(jù)的不相同項的區(qū)分。

        5 結語

        Excel VBA不僅可以應用于醫(yī)用耗材管理,并可用于醫(yī)療設備管理、醫(yī)院病例數(shù)據(jù)分析統(tǒng)計、神經(jīng)系統(tǒng)學、醫(yī)學影像學及生物化學等各學科中[9-14]。數(shù)據(jù)統(tǒng)計是醫(yī)院設備耗材管理的重要方面,通過Excel VBA對不同權限用戶管理、多重數(shù)據(jù)比對的應用分析,以及編程方法在工作中的高級應用,可極大減少人為操作,降低錯誤率,有效提高工作效率[15-16]。

        猜你喜歡
        選項卡耗材表格
        貝昂 無耗材空氣凈化器
        華人時刊(2022年7期)2022-06-05 07:34:00
        貝昂 無耗材空氣凈化器
        華人時刊(2022年5期)2022-06-05 07:32:46
        貝昂 無耗材空氣凈化器
        華人時刊(2022年1期)2022-04-26 13:39:54
        《現(xiàn)代臨床醫(yī)學》來稿表格要求
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        禁用一切 優(yōu)化無限
        電腦愛好者(2018年4期)2018-03-02 15:38:00
        中國醫(yī)院院長(2017年9期)2017-06-15 12:59:23
        Windows 8專欄
        国产精品久久中文字幕亚洲| 激情文学婷婷六月开心久久 | 亚洲乱码中文字幕综合久久| 欧美熟妇另类久久久久久多毛| 69精品人人人人| 国产精品对白刺激久久久| 亚洲AV伊人久久综合密臀性色| 成人性生交大片免费看7| 日韩精品久久中文字幕| 欧美性猛交xxxx三人| 日本免费一区二区三区| 国产成人av综合亚洲色欲| 国产精品丝袜美腿诱惑| 无码少妇丰满熟妇一区二区| 欧美乱妇高清无乱码在线观看| 越南女子杂交内射bbwbbw| 久久久亚洲精品午夜福利| 人妻少妇偷人精品一区二区| 国产午夜手机精彩视频| 亚洲一区中文字幕在线电影网| 久久精品日本美女视频| 亚洲av色香蕉一区二区三区潮| 亚洲国产精品一区二区久久恐怖片| 国产xxxxx在线观看| 亚洲国产一区在线二区三区| 久久无码中文字幕东京热| 亚洲天堂av路线一免费观看| а天堂中文在线官网在线| 越南女子杂交内射bbwbbw | 日本一区二区三区在线观看视频| 久久婷婷五月综合色高清| 亚洲一区精品无码色成人| 国产激情久久99久久| 蜜臀av一区二区三区人妻在线| 亚洲一区二区三区国产| 性欧美老人牲交xxxxx视频| 连续高潮喷水无码| 综合人妻久久一区二区精品| 久久天天躁狠狠躁夜夜av浪潮 | 亚洲的天堂av无码| 日本少妇被爽到高潮的免费|