Excel是大家非常熟悉的應(yīng)用軟件,其使用非常方便。尤其是其強大的函數(shù)功能,為我們帶來了極大方便,但有時我們?yōu)閷崿F(xiàn)一項規(guī)定的功能,可能用到幾個函數(shù)或者采用嵌套函數(shù),這樣應(yīng)用起來,也不太方便;或者使用自定義公式進行計算,就沒有現(xiàn)成的公式可用。可喜的是,我們可以創(chuàng)建自定義函數(shù)UDF(User—defined function) ,它的運行與Excel中自帶的">

      技術(shù)頻道

      excel自定義函數(shù)在水質(zhì)工作中的應(yīng)用

      Excel是大家非常熟悉的應(yīng)用軟件,其使用非常方便。尤其是其強大的函數(shù)功能,為我們帶來了極大方便,但有時我們?yōu)閷崿F(xiàn)一項規(guī)定的功能,可能用到幾個函數(shù)或者采用嵌套函數(shù),這樣應(yīng)用起來,也不太方便;或者使用自定義公式進行計算,就沒有現(xiàn)成的公式可用。可喜的是,我們可以創(chuàng)建自定義函數(shù)UDF(User—defined function) ,它的運行與Excel中自帶的函數(shù)完全相同。建立自定義函數(shù)有以下幾個優(yōu)點:建立自己特殊的功能和名稱的函數(shù);能將復(fù)雜的、嵌套的、多個原有的函數(shù)組合在一起,發(fā)揮更大的威力,使用、維護更加方便。
        比如在水質(zhì)計算中,高錳酸鹽指數(shù)的計算公式非常繁瑣,而且含必須將結(jié)果修約至0.1,還得考慮逢5奇進偶舍的問題。利用計算器逐步計算很是麻煩;在EXCEL中利用單元格引用計算稍有不注意,可能造成計算上差錯,而且每次都得建立,很不方便。現(xiàn)在我們利用EXCEL自帶的VBA編輯器建立自己的函數(shù)來解決這個問題。
        首先進入Excel,在[工具]→[宏]→[Visul Basic編輯器](也可按組合鍵[Alt+F11]),在“Visul Basic編輯器”中選擇[插入]→[添加模塊],將模塊名稱改為“高錳酸鹽指數(shù)濃度計算公式”,在代碼窗口輸入下列函數(shù):
      Public Function CImn(C As Single, V0 As Single, V1 As Single, V2 As Single, V As Integer)‘高錳酸鹽指數(shù)計算公式
      Dim DotLocation As Integer ‘定義小數(shù)點位置變量
      ‘*************************************************************************
      CImn = ((((10 + V1) * 10 / V2 - 10) - (((10 + V0) * 10 / V2 - 10) * (100 - V) / 100))) * C * 8000 / V
      ‘*************************************************************************
      ‘保留一位小數(shù)
      ‘當CIMN值小于1時,自動補上個位0
      If CImn < 1 Then
      CImn = 0 & CImn
      End If
      ‘確定小數(shù)點的位置
      DotLocation = InStr(CImn, ".")
      ‘判斷小數(shù)點后第二位是否為5
      If Mid(CImn, DotLocation + 2, 1) = 5 Then
      If Len(CImn) <= DotLocation + 2 And Mid(CImn, DotLocation + 1, 1) Mod 2 = 0 Then
      CImn = Left(CImn, DotLocation + 1) ‘為5且5后沒有數(shù)和5前一位為偶數(shù),直接用round()函數(shù)修約
      Else
      CImn = Round(CImn, 1)
      End If
      Else
      CImn = Round(CImn, 1) ‘不為5,直接用round()函數(shù)修約
      End If
      CImn = Format(Round(CImn, 1), "#0.0")
      End Function
        我們知道,Excel中函數(shù)都有一個說明用以幫助使用,我們也要給這個函數(shù)添加一個說明。在工具欄中選擇“對象瀏覽器”(如圖1),選擇我們所做“高錳酸鹽指數(shù)濃度計算公式”模塊,在其[右鍵]→[屬性]中添加關(guān)于對這個函數(shù)的描述,這個描述將出現(xiàn)在Excel中關(guān)于函數(shù)的說明中,如果你要對軟件保密的話,在“模塊”上按右鍵,[VBAproject屬性]→[保護中設(shè)置密碼],別人就看不到你的源程序了。


      圖1描述函數(shù)
        這時,退出,回到Excel界面,將這個文件另存為:類型為“Microsoft Excel加載宏”,在Excel 2003中,它會自動更改保存位置為“C:\Documents and Settings\wzwemc(電腦用戶名)\Application Data\Microsoft\AddIns” (系統(tǒng)裝在c:\windows),當然,你也可以把這個文件“高錳酸鹽指數(shù)濃度計算公式.xla”,直接復(fù)制到office\library(office的安裝路徑下),而在Excel 97中只能放在后一個位置。使用函數(shù)很簡單,點擊[工具]→[加載宏],在你創(chuàng)建的“高錳酸鹽指數(shù)濃度計算公式”前打個勾,如圖2。在單元格直接輸入“=CImn()”,選中相應(yīng)的參數(shù)即可(如圖3)。是不是像Microsoft office提供的函數(shù)一樣,很有點專業(yè)味道。


      圖2加載宏


      圖3使用自定義函數(shù)


        假如你把調(diào)用這個宏的Excel文件拷貝到別的機子上運行,會出現(xiàn)“當前所要打開的文檔含有其他文檔的鏈接,是否要使用其他工作簿中的改動更新當前工作簿”的提示,可以顯示原先計算的數(shù)據(jù),這是因為在Excel中的[工具]→[選項]→[重新計算]中,一般選中“保存外部鏈接數(shù)據(jù)”,但你不能重新計算,因為不能鏈接這個宏,別人機子上根本就沒有這個函數(shù)。
        此外,我們還可以為“加載宏”添加相關(guān)說明,這樣更有利于自定義函數(shù)的維護。(如圖3),找到“高錳酸鹽指數(shù)濃度計算公式.xla”,點擊[右鍵]→[屬性]→[摘要] (如圖4),在描述里添加所需內(nèi)容來對函數(shù)進行相關(guān)描述,其中“標題”部分將出現(xiàn)在“加載宏”的方框中,“備注”部分將出現(xiàn)在下面的函數(shù)說明部分。這時再看看,夠不夠?qū)I(yè)。在Excel 97中也可以在其右鍵屬性中作相應(yīng)更改。

      圖4添加中文描述

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 一区国产传媒国产精品| 日本一区午夜爱爱| 成人毛片一区二区| 一区二区三区福利视频| 亚洲福利秒拍一区二区| 国产福利电影一区二区三区,免费久久久久久久精 | 国模私拍福利一区二区| 国产在线一区二区在线视频| 国产精品美女一区二区| 久久蜜桃精品一区二区三区| 麻豆高清免费国产一区| 无码国产精品一区二区免费式芒果 | AV天堂午夜精品一区| 波多野结衣av高清一区二区三区| 五十路熟女人妻一区二区 | 亚洲码欧美码一区二区三区| 91精品一区二区三区久久久久 | 欧美日韩综合一区二区三区| 亚洲一区二区三区在线网站| 色窝窝无码一区二区三区成人网站| 国产在线精品一区二区不卡麻豆| 视频一区二区在线观看| 一区二区三区日本视频| 国产福利一区二区在线视频 | 精品一区二区三区四区电影| 国产成人一区二区三区免费视频| 久久久国产精品无码一区二区三区| 中文字幕在线不卡一区二区| 一本大道在线无码一区| 国内精自品线一区91| 国产精品伦子一区二区三区| 日本精品一区二区久久久| 亚洲乱码国产一区网址| 免费看一区二区三区四区| 亚洲国产成人一区二区精品区| 一区二区三区观看免费中文视频在线播放 | 一区二区三区午夜| 国产午夜精品一区二区三区嫩草| 国产激情无码一区二区| 亚洲福利秒拍一区二区| 国产在线一区二区视频|