一起學Excel專業開發02:專家眼中的Excel及其用戶

2021-12-20 完美Excel

學習Excel技術,關注微信公眾號:

excelperfect

 

對於大多數人來說,使用Excel來做的工作就是在單元格中輸入數據,進行一些格式化製作成報表輸出,在這個過程中,可能會使用一些公式,可能會使用圖表展現數據,也可能會使用VBA進行一些自動化數據處理工作。

 

然而,越深入地使用Excel,會越多地了解Excel,就會發現Excel不僅僅這些,特別是看到精心設計製作的、清新的工作表,看到認為是專業的程序軟體開發的作品而實際上就是Excel時,會徹底顛覆你對Excel的認識。其實,就如Excel一樣,眼前經常用的就是最強大的,只是你沒有認識到,沒有認真研究而了解她,沒有將她發揮到極致的想法。

 

在專家眼中,Excel不只是普通的電子表格程序,更是能力非凡的應用程式開發平臺。在專家眼中,Excel已經為我們的應用需求構建了完整豐富的基礎,Excel中的任何部分都是作為程序組件或元素來對待的,只等著我們充分運用她們來擴展Excel的能力,方便地滿足多種多樣的需求,而無須從頭開始。

 

1. 工作表:用於展示

在日常工作中,我們會很自然地在工作表單元格中輸入數據,進行數據分析和處理,製作報表輸出,這是我們通常的做法。Excel豐富的內置功能,已讓我們的這種做法非常容易。

 

我們需要進一步做的是提高電子表格界面設計能力,靈活熟練地運用Excel提供的功能,充分發揮並拓展Excel所提供的功能,在工作表中添加一些結構,使其變為一個簡單易用的用戶界面。例如,下圖1所示的工作表,充分利用Excel自身的功能設計出了功能強大的用戶接口。

圖1

 

這裡使用了格式設置、名稱、樣式、單元格批註、數據驗證、條件格式等常用技術,創建了清晰的界面,提供了級聯列表、數據檢驗、動態顯示、錯誤提示等功能。簡單直觀,引導用戶正確完成輸入數據的填報工作。

 

2. 工作表:用於程序數據的存儲

在程序代碼中,在程序代碼處理中,經常要用到一些數據,而工作表就是一個天然的數據存放地,我們可以在工作表單元格中存放數字、文本、表格或圖片,供程序使用,而VBA程序代碼可以方便地訪問這些數據。同時,修改維護這些數據也非常簡單。

 

例如下圖2所示,創建工作表數據驅動的用戶窗體。

圖2

 

這裡的嚮導2中列表框項目數據讀取的是工作表中列A中的數據,在嚮導2中選取「Client Detail」後,嚮導3中會出現該指定項報表的選項,並讀取工作表中相應單元格中的數據作為其複選框選項。用戶窗體根據用戶的選擇讀取工作表中的相應數據,並動態添加相應的控制項,使用戶窗體更加靈活且功能更強大。

 

3. 工作表:一種聲明式程式語言

我們用程式設計師的眼光來看Excel工作表,單元格存放著變量的值,單元格地址就是變量,公式或函數就是語句,通過引用單元格來獲取或者計算得到相應的值。

 

也就是說,我們可以將Excel工作表公式當作是一種程式語言。IF函數可以等同於條件語句,Excel中的循環引用和迭代計算等功能的巧妙運用,可以等價實現循環結構語句。

 

Excel工作表就是一個實時的語言編輯器,在工作表單元格中輸入數據和公式後,Excel實時給出結果,並根據公式所依賴的單元格的變化實時更新數據。

 

Excel更擅長數字計算,VBA擅長通用的編程,將兩者合理結合運用,可以開發出高效的應用程式。

 

4. VBA與用戶窗體

VBA是一種專業的程式語言,內嵌於Excel中。在Excel提供的VBA語言專業編輯器(VBE)中,不僅可以使用VBA來充分Excel發揮更大的優勢和威力,而且可以利用用戶窗體設計專業的交互界面,擴展Excel的能力。《Excel專業開發(第2版)》中的主要內容就是講解VBA高級技術及應用程式設計和開發的專業方法的,有興趣的可以與我一起解讀這本書,提升編程實用技能。

 

5. Excel對象模型

我們在Excel中進行的各種操作,實際上是對相應對象的操作,例如常用的單元格操作,包括在單元格中輸入數據、設置格式等,就是對單元格對象的操作。Excel中對象經過層層組織,構成了Excel對象層次模型,其層次結構如下圖3所示。

圖3

 

Application對象代表Excel應用程式本身,有一個工作簿集合對象(Workbooks集合對象),包含所有打開的工作簿對象(Workbook對象),而每個Workbook對象有一個工作表集合對象(Worksheets集合對象),包含工作簿裡所有的工作表對象(Worksheet對象),而每個Worksheet對象又包含單元格區域對象(Range對象)。

 

通過對象模型,我們可以編程實現幾乎所有在Excel工作表界面中能夠完成的功能。而這些對象豐富的屬性、方法和事件可以使得一些非常複雜的應用程式開發變得相當簡單,開發者重點要考慮的是何時及如何將各種功能有效地組合在一起,而不是重新開發這些功能。

 

以上,就是Excel為我們編程開發提供的基本組件。

 

那麼,專家眼中的Excel用戶是怎麼分的呢?根據使用Excel與VBA的經驗和所掌握知識的程度,可以把Excel用戶分為五類。

 

1.Excel初級用戶:將Excel工作表當做存放數據、報表或進行簡單計算的工具,並且隨著Excel使用經驗的增加,其工作簿也會變複雜,會包含大量的工作表公式與函數、圖表和數據透視表等。

 

2.Excel高級用戶:熟悉Excel的各種功能,知道在何種情況下使用何種功能,能夠根據需要創建複雜的工作表,能夠解決工作表使用過程中遇到的問題,會使用VBA但並不專業。

 

3.VBA開發人員:精通VBA,在其工作簿中廣泛使用VBA代碼,相信所有問題都能用VBA解決,但因為對Excel缺乏充分的了解,所以不能很好地利用Excel的特性。在判斷何時使用Excel解決問題,何時使用VBA解決問題,以及何時將兩者結合來解決問題時,缺乏經驗。

 

4.Excel開發人員:利用大部分Excel內置功能並適當加入VBA代碼是他們解決問題的常用方式,但不願意使用其他語言或編程工具來改進自已的Excel解決方案。

 

5.專業Excel開發人員:能夠設計和開發各種基於Excel的應用程式,以Excel為核心,根據情況靈活地使用各種應用程式和程式語言,包括第三方ActiveX控制項、Office自動化技術、Windows API調用、外部資料庫以及各種獨立程式語言和XML技術等,所開發的程序高效、易用,具有很好的健壯性、可維護性和安全可靠性。

 

你屬於哪一類?

 

相關焦點

  • excel開發工具選項卡在哪?原來需要自己添加
    本篇將介紹excel開發工具選項卡在哪?原來需要自己添加,有興趣的朋友可以了解一下!一、前言excel是我們經常使用的一款表格製作工具,它的使用非常簡單。最常用的功能都設計在了excel菜單欄中的開始、插入、頁面布局等選項卡中,只要直接點擊使用即可。
  • #Excel VBA#解讀(20):用戶交互初體驗—MsgBox函數
    此時,Excel告訴我們相關信息,並會等待我們作出響應,單擊「確定」,對話框消失。當然,這只是MsgBox函數最基本的用法。我們可以讓它顯示更豐富的信息,例如,顯示更有意義的標題、更多的選擇按鈕、圖標,甚至獲取用戶響應後的值。
  • 手把手教你用Python讀取Excel
    parse_dates=False, date_parser=None,              thousands=None, comment=None, skipfooter=0,              convert_float=True, mangle_dupe_cols=True, **kwds)02
  • Python3操作excel的集大成者pandas
    有個Python開發包的大管家,名叫Anaconda,這傢伙安裝好後,就有了操作excel的開發包pandas,既然用Anaconda的挺多,想必處理excel時,他們會更多選擇用pandas,而它是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。
  • 如何快速把多個excel表格合併成一個excel表
    如何快速把多個excel表格合併成一個excel表呢? 首先,我們需要把多個excel表都放在同一個文件夾裡面,並在這個文件夾裡面新建一個excel文件。
  • 如何在Excel裡安裝excel插件?
    隨著科技的發展,人們對數據分析的要求越來越多, Excel也存在一些問題,長期困擾一線業務用戶:首先是性能問題。對於大數據量,Excel處理起來很慢。數據獲取的過程麻煩,特別是周期性的數據獲取,每次都要找IT人員幫忙,再粘貼到excel中去。
  • Springboot整合easyExcel導入導出Excel
    ,因此在此記錄學習一下如何使用Springboot整合easyExcel;需求:資料庫中有張user表,有個業務要求可以導入、導出「用戶名單.xls」表一、準備:創建項目:關於springboot項目如何創建這裡不再贅述,放一張項目結構圖:1、導入easyexcel、mybatis、mysql依賴
  • Matlab—Excel數據的讀取
    如果數據內部列或者行為非數字行或列時,xlsread不會忽略,非數字單元格會用NAN(不確定數)代替。(2)num =xlsread(filename,-1)在excel界面中打開數據文件時,允許用戶選取要讀取的工作表以及工作表中需要導入的數據區域。這種調用會彈出一個提示界面,提示用戶選擇Excel工作表中的數據區域。
  • excel中怎麼輸入分數 excel錄入技巧
    excel中怎麼輸入分數 excel錄入技巧 2020-11-08 02:36
  • excel數字複製不了?如何複製excel上的公式結果
    很多小夥伴們都向雷鋒崔老師詢問說如何將通過公式運算得到的excel公式進行複製粘貼而不發生錯誤結果呢?雷鋒崔老師教你如何如何複製excel上的公式結果請看下文首先,用戶打開自己需要處理的excel數據文件,之後查看這個數字是否是通過公式計算得到了
  • 輕鬆把 Excel 錶轉換成 json 對象的強大開源工具 | 開發必備
    【GitHub精選榜】本欄專注於分享優質的GitHub 開源項目、學習資源、技術文檔、
  • Excel 控制項【窗體控制項】和【ActiveX控制項】使用基礎教程
    控制項提供給用戶一些可供選擇的選項,或是某些按鈕,單擊後可運行宏程序。  第一,excel 控制項之窗體控制項介紹excel 控制項,其中,「窗體」有16個命令按鈕,依次為:標籤、編輯框,分組框、按鈕、複選框、選項按鈕,列表框、組合框,組合式列表編輯框、組合式下拉編輯框,滾動條、微調項,控制項屬性、編輯代碼,切換網格、執行對話框。
  • Excel 是表格,歪果仁說 you excel me 難道是「你表格我」?
    大家都知道 word 有「單詞」的意思,那你知道 excel 的含義嗎?比如老外常說的 You excel me,可千萬不能理解成「你表格了我」。那 excel 到底是什麼意思呢?今天就為你揭秘它的真正含義↓↓excel是什麼意思?excel 作為動詞,有兩種意思:1.
  • excel零基礎入門教程,零基礎excel教程視頻,零基礎excel全套教程
    excel零基礎入門教程,零基礎excel教程視頻,零基礎excel全套教程如果你不重視,不僅影響求職,降低工作效率,還分分鐘有可能變成一顆定時炸彈。目前她開發了《Excel從小白變小能手》、《Excel從HR到HERO》、《office從大學生到企業專職》等系列課程。
  • excel什麼意思
    excel什麼意思想必大家對微軟家的那你知道excel其實和nestle, grace, marvel一樣,都是有意義的單詞嗎?學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!我先來:造句:I excel in Excel.
  • excel減法函數怎麼用 減法函數使用教程
    excel減法函數怎麼用 減法函數使用教程時間:2017-02-05 21:53   來源:系統天堂   責任編輯:毛青青 川北在線核心提示:原標題:excel減法函數怎麼用 減法函數使用教程 excel減法函數怎麼用?
  • 最經典的36個Excel小技巧,再忙都要學!
    我是零基礎,該怎麼學?為了能快速幫大家提高工作效果,解決工作中的小疑難,今天蘭色推送36個excel小技巧,都是工作中最常用到的,希望同學們能喜歡1、一列數據同時除以10000複製10000所在單元格,選取數據區域 - 選擇粘性粘貼 - 除2、同時凍結第1行和第1列選取第一列和第一行交匯處的牆角位置B2,窗口 - 凍結窗格
  • SpreadJS 用於開發多人協作「在線excel」系統的優勢
    SpreadJS 用於開發多人協作「在線excel」系統的優勢 2020年01月02日 11:30作者:黃頁編輯:黃頁 SpreadJS 開發多人協作「在線excel」系統 主講人:上海佳軟CTO劉立兼 講師簡介:擁有14年研發經驗,6年電商領域的大數據經驗,專注於數據採集/清洗/關聯/分析/可視化與應用方案設計分析,同時也是3款線上數據產品的創始人。
  • Excel 如何讓多人同時編輯 excel實時在線編輯設置教程
    Excel 如何讓多人同時編輯 excel實時在線編輯設置教程時間:2017-04-20 13:29   來源:川北在線整理   責任編輯:沫朵 川北在線核心提示:原標題:Excel 如何讓多人同時編輯 excel實時在線編輯設置教程 excel實時在線編輯設置教程: excel 更新了新的內容,那就是為了增加人們工作的效率
  • Excel VBA解讀:基礎入門篇
    >ExcelVBA解讀》系列第一季的目錄和每篇文章的主要內容,當然我們曾在《Excel VBA解讀(29):讓我們一起邁入VBA編程的殿堂——第一季小結》中匯總過,它們是一些最基礎的Excel VBA編程知識。