系統思維在Excel vba編程中的思考

2021-01-08 江覓易見

文:江覓易見

編程首先要考慮的問題是需求,正因為需求的存在,所以要做編程的工作,然後要分析需求以及實現需求而實施的方式方法,最終輸出需求結果。

這是整個編程中要考慮的內容,也是解決需求的一般過程。

系統思維的建立有助於編程思想的提高和理解需求的應用場景,進而對編程實施有一個全面而有效的方法布置。

系統三要素:元素、關係、功能

引用到Excel vba編程中。

元素

就是窗體(Forms)、文本框(TextBox)、下拉框(ComboBox)等一系列對象,對元素的屬性定義賦值就是加工元素,賦予各自不同的對象屬性,也是比較直觀地顯示需求中各個對象的狀態。

關係

是對元素操作,以及元素與數據、元素與元素之間的聯繫,這個很重要,沒有聯繫就沒有產生結果的途徑,假如一個按鈕(CommandButton)被按下,一定是想發生什麼事件,如果什麼都不發生,那麼這個按鈕就存在的必要,這就不能產生關係,更無法達到目的。

功能

是各控制項產生關係後執行的過程,也是系統最重要的結果。即Function()函數、和sub()所要表達的內容。系統的最終需要一個結果,一個需求是否有效完成,功能執行之後,將明確體現。

這三個要素有效的集合,便成為一個系統。

系統不分大小

就像麻雀很小就不能稱為動物一個道理,小的系統也是完成一系列功能需求,大的系統或是許多小的系統組合而成。正如蝴蝶效應,那隻蝴蝶只是在墨西哥煽動幾下翅膀,這是個小系統,一個月之後美國就發生了颶風,這算是個大系統,卻很難想到影響之大。

編程中有一個重要的思考

編程過程中要一直考慮在正確的方向進行,一旦錯誤怎麼的處理,這就是容錯機制的處理和完善,大概要耗費很多精力,然而從沒有真正完美,總有無法預知的錯誤存在。這就是說BUG是不可避免的,由於電腦底層系統的缺陷造成,任何編程過程中都將會發生錯誤。既然錯誤無法避免,關鍵在於如何儘可能在錯誤出現時給出提示,以及引導錯誤趨向合理。

從基礎來理解,編程是一門技術

某種意義上講,技術服務於權力、服務於管理、服務於資本,技術只是個人或集團為達到某種目的的工具,因此,一些技術大牛的存在,究其原因是因為被需要,這就是說,假如有一天也可以不被需要,然後就,不牛了。

所以,無論技術怎麼樣,建立系統思維是個不錯的考慮,在對整個問題進行全面分析之後,做出解決方案,然後分步實施,達到目的,輸出結果。工作當中,任何事情的處理都可能經過這樣的過程,似乎應該有所幫助。

關注

關注江覓易見,經過一些正確的努力,然後分享一些努力的過程。

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • Excel vba 利用定義名稱實現用戶登錄功能
    文/江覓易見在vba 中實現用戶登錄,並對登錄用戶進行身份識別,然後對用戶進行分組管理,此類功能值得進一步思考。這裡介紹一種方法,利用Excel中的名稱管理來進行身份識別,起到用戶登錄次數以及增減用戶的功能。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    最後,定義一個方法,讓vba調用。如下圖:這個方法的上方套上一個 xlwings 的裝飾器 @xw.func。表示這個方法需要註冊到 Vba 模塊中。外部傳入的是字符串,比如參數 groups 可以是 "col1,col2",因此需要對 groups 和 values 參數調用 split 分裂成列表。然後就順序調用之前定義的2個方法 where_df 和 group_df。
  • VBA編程理論學習之談
    No.1 掌握對象方法和屬性VBA編程是一個即學即用的過程,幾乎不可能全面掌握所有對象的代碼,也不可能記住所有的對象屬性。所以,在實際應用中遇到哪些對象就對應去掌握這些對象的方法和屬性就可以,不需要完全學習。既浪費時間又沒有意義。
  • 工作中為什麼有必要學點VBA
    從office97開始,VBA作為MS的標準內置配置,彌補了excel內在的基本函數不足以支持的複雜計算,提供了一種相對輕量級的、所見即所得的解決方案,濤哥在21世紀初因內部工作需要(統計代碼行數記工作量)第一次接觸了VBA,並在以後的工作中多次出色的完成相關任務,甚至給濤嫂編的幾個小程序大大提升了她們的工作效率,還受到了時任行長的讚許,現在想來還歷歷在目。
  • Excel VBA編程中必須掌握的3個基礎知識點
    VBA編程功能非常強大,對於excel的功能拓展至關重要,同時也是實現excel自動化處理數據的關鍵。但是在職場中不是所有人都有編程基礎,所以我們不能像程式設計師一樣寫出規範的、高大上的代碼,我們想要的無非是快速實現功能,給我們的工作提高效率,但不管怎麼樣也得了解VBA編程的規範和要求,一些基礎性的知識還是需要知道和了解的,只有熟悉這些基礎知識,我們才能快速編程,真正做到事半功倍。
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    腳本中導入本文只說重點細節,至於如何從 excel 中讀取數據,上一節已經有詳細介紹。我們注意看得到的結果中的index。就是最左邊的那一列數字每個 DataFrame 都會有這樣的 index,不管你怎麼操作他,這個 index 都不會改變。因此我們可以利用 index 定位 excel 的單元格,然後通過 xlwings 標記底色就好了。
  • WPS教程:excel新手入門VBA功能使用介紹
    Excel教學:今天和大家分享一下excel中vba的使用方法入門,相信很多使用該軟體的朋友們對此都很感興趣,下面就和大家來分享一下,希望可以幫助到大家。工具/原料電腦:組裝臺式機系統:windows 10專業版版本:WPS Office 2019 PC版方法/步驟1.首先,我要知道商品的單價是12.5,在D1單元格輸入【商品單價】,在D2單元格輸入12.52.接著我們打開vb界面,在常用工具欄上執行:開發工具--visual basic。
  • Excel實現信息管理系統之數據錄入界面設計步驟詳解
    本身excel就是一款功能強大的數據信息管理和分析軟體,我們如果在它的基礎上在設計信息管理的功能感覺有點多此一舉。但是大家仔細想想,我們在excel錄入數據時,很多時候都是在單元格中直接輸入,亦或者使用excel記錄單錄入數據,然後再進行數據處理,這種方式對於大眾來講非常簡單快捷。但是如果我們處理的數據量大,錄入數據時有若干列,或者多人錄入時,這樣直接輸入真的會很便捷嗎?
  • excel怎麼利用vba獲取單元格交叉範圍的數據
    excel中使用vba獲取多個單元格區域的交叉範圍  1、首先我們打開一個工作樣表作為例子。   2、在工作中,我們常常會遇到選擇多個工作表區域,而兩個工作表區域的交叉範圍如果需要我們再去選取的話,需要非常的小心,不然選擇錯誤了又得重新來過
  • vba編程,如何找出計算機ID,磁碟空間信息,一個函數的事情
    NO.1vba編程中,有時候需要獲取計算機系統信息,比如計算機名稱、ID、磁碟容量、磁碟類型等等,那麼如何來實現這個功能呢?下面講一下,關於獲取本地信息的一個簡單方法。這裡我們會用到一些很重要的函數(GetObject),這些函數內置在Excel應用中,只要調用即可。其中還用到Win32_LogicalDisk class,也就是WMI下的一個類。
  • Excel VBA Programming For Dummies, 5th Edition 電子書分享
    書籍描述:將您的Excel編程技能提升到新的水平要將Excel提升到下一個層次,您需要了解並實VisualBasicforApplications(VBA)的強大功能。Excel vba編程的假人介紹了一系列新的Excel選項,從最重要的工具和操作為Visual Basic編輯器開始。在內部,您將找到用Excel編程的基本元素和概念的概述。您很快就會發現處理錯誤和消除錯誤、處理範圍對象和控制程序流等技術。有了關於開發自定義對話框、工具欄和菜單最簡單方法的友好建議,讀者將根據自己的獨特需求定製Excel應用程式!
  • Excel VBA流程圖解之For循環的本質 原來系統偷偷幹了很多事
    今天我們來看一下For循環,我相信所有學vba的朋友肯定要用For循環,但是你是否知道為什麼你3條語句就能成為一個循環呢?系統在語句的前後幫我做了那些事,下面這張圖說明了一切!!計數器和步長值不一定是整數,但是建議始終用整數,用小數會造成一些不必要的麻煩,特殊時候可以用一下在for 和next之間任意位置 可以用exit for退出循環,用以在出現特殊情況的時候提前結束循環循環語句可以嵌套下一層循環,以及其他的完整vba語句比如 if select case等,注意這裡必須是完整的語句塊。
  • Excel vba 批量刪除窗體控制項
    文/江覓易見動態創建窗體控制項後,可以進行動態刪除,如果是設計時從工具欄添加的控制項,不能動態刪除,不要問為什麼vba就是這麼規定的,也可以認為這是一個BUG,反正就是不能。其實,vba編程並不十分理想,因為有很多不可預知的問題出現,而且依賴環境也十分不友好,由於版本不同,同樣的文件就不能很好地運行,這也是一個不小的麻煩。因為在自己的電腦上編寫好的程序,換一臺電腦可能就無法運行,運行環境改變相應地要做一些系統設置,不然程序不能很好地發揮作用。
  • Vba第十九課
    代表任何一個單一字符「*」 代表零個或多個字符「#」 代表任何一個數字(0-9)Like對英文字符比較是區分大小寫的,也就是不匹配例:Sub like語句() If 「Vba」 like 「vba」 then Msgbox」匹配」 Else Msgobx」不匹配」
  • Win10上使用python3處理excel文件教程
    引言:   最近有一系列的excel文件需要處理,準備用python來處理一下。  正文:  同門師妹將這個問題拋給我的時候,其實我可以選擇c++、python、vba等處理,但是c++每次修改都需要重新編譯,vba編程用不能學到什麼,最後選擇python進行嘗試,因為python是解釋型語言,修改即可運行,很方便。
  • Vba第四十三課
    Vba第四十三課關於vba操作工作表、數組、字典等所有的基本功能如果大家仔細去學習、認真敲代碼的話,數據分析應該是入門,當然vba作vb的分支語言,在office的平臺上去運行還是大有作為的,更深層次的功能都相當不錯,而前面的課程所講的功能基本可以定義為少量數據的清洗運算功能,要達到數據分析的水平是遠遠不夠的,比如操作資料庫、自定義函數等等都是數據分析的一些必要技巧
  • Excel vba 編程學習,用車管理系統
    今日周六,休息的日子大多時候都在自我安逸中度過,這樣的狀態相對平靜,也可以說很無聊,因為除了在床上睡覺,就是在床上睡不著覺兩種狀態,偶爾出去逛逛,發現熱鬧的街上沒有我的喜好。編程實現一個功能有多種方式和途徑,當習慣了一種途徑,突然改變用另一種,就會出現不可預知的問題,解決起來無從入手,但也不是不能解決,需要花費些許周折。今天花了不少周折,問題解決到90%,嘎然而止,腦袋宕機了,就讓問題一邊涼快吧,繼續寫完這篇文章再說問題的事情。有時候,人不能沒有問題,沒有問題就會變得頹廢,沒有了思考的能力,進而變得慵懶。
  • vba第十七課
    vba第十七課with語句當對某一個對象執行一系列語句時,不用重複指出對象名稱例:用vba代碼進行排版,加上黑色邊框,設置行高為30,垂直居中,水平居中、字體大小為18,寬度自適應Sub with語句()With Sheets(1).Range("a1:f11") .Borders.ColorIndex
  • excel中2000行數據以行排序,你需要多長時間
    Hello,大家好,今天跟大家分享下我們如何使用錄製宏批量的按照行來對數據排序,這個之前發過視頻,但是很多粉絲表示沒看懂,今天就來詳細的介紹下這種方法一、宏是什麼宏本質上就是我們所說的vba代碼,錄製宏就是將我們的操作記錄下來,將其編譯為vba代碼,當我下次需要重複操作的時候只需要運行宏excel就會幫自動幫我們搞定。