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

      技術頻道

      excel自定義函數在水質工作中的應用

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


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


      圖2加載宏


      圖3使用自定義函數


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

      圖4添加中文描述

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 无码人妻精品一区二区三区久久久| 精品久久久中文字幕一区| 亚洲国产一区二区a毛片| 精品一区二区三区四区在线播放 | 无码日本电影一区二区网站| 亚洲无人区一区二区三区| 尤物精品视频一区二区三区| 精品人妻系列无码一区二区三区 | 色精品一区二区三区| 精品不卡一区二区| 久久人做人爽一区二区三区| 久久AAAA片一区二区| 国产精品一区二区不卡| 麻豆aⅴ精品无码一区二区| 国产一区二区三精品久久久无广告| 伦精品一区二区三区视频| 久久久精品人妻一区亚美研究所| 国产伦精品一区二区三区视频猫咪 | 国产成人av一区二区三区在线 | 在线免费视频一区| 手机福利视频一区二区| 国产精品美女一区二区三区| 精品熟人妻一区二区三区四区不卡 | 亚洲Av永久无码精品一区二区| 3d动漫精品啪啪一区二区免费 | 免费无码AV一区二区| 国产无吗一区二区三区在线欢| 久久精品免费一区二区喷潮| 国产精品第一区揄拍| 亚洲国产欧美一区二区三区| 国产麻豆精品一区二区三区| 好爽毛片一区二区三区四无码三飞| 四虎成人精品一区二区免费网站| 国产精品日韩一区二区三区| 视频一区二区在线播放| 精品乱子伦一区二区三区高清免费播放 | 一区二区视频在线| 亚洲综合在线一区二区三区| 国产精品亚洲一区二区三区| 一区二区精品久久| 无码人妻精品一区二区三区66|