2019年5月27日 星期一

EXCEL下拉清單用VBA自動查詢與顯示不同資料

EXCEL下拉清單用VBA自動查詢與顯示不同資料

這是延伸之前撰寫的一篇文章:
EXCEL太複雜工作還是交給VBA吧!範例班級成績查詢 [連結]

預覽畫面:


雖說用EXCEL的內建函數也可以做出類似的效果,
但要用IF、SMALL、IFERROR函數,還要會在EXCEL中執行陣列
授課的結果,大多學員幾乎陣亡。
反而用VBA來撰寫自動查詢與顯示不同資料,
似乎就變簡單了,
只要會撰寫簡單的 For迴圈,用Cells物件
B到E欄資料,複製到G到J欄
配合變數 k ,就可以逐一的將資料複製過來,
當然資料也可以是在不同的工作表或工作簿。
反而用VBA來處理顯得更加簡便
所以,若有更複雜的工作,要提高工作效率,
建議,還是用VBA為佳。

如何用VBA來做:


Public Sub 班級()

   '1.刪除舊資料
   Range("G5:J12").ClearContents
   '1.輸出的列數
   k = 5
   '2.迴圈判斷班級
   For i = 2 To 12
       If Cells(i, "A") = Range("H2") Then
           Cells(k, "G") = Cells(i, "B")
           Cells(k, "H") = Cells(i, "C")
           Cells(k, "I") = Cells(i, "D")
           Cells(k, "J") = Cells(i, "E")
           k = k + 1
       End If
   Next
End Sub

再來就是可以配合事件驅動,就可以省去按鈕動做了。


Private Sub Worksheet_Change(ByVal Target As Range)

   If Target.Address = "$H$2" Then
       Call 班級
   End If
End Sub


教學影音(完整版在論壇):

教學影音完整版在論壇:
https://groups.google.com/forum/#!forum/scu_excel_vba2_86

課程特色:
EXCEL函數 VBA程式設計資料庫與網路資料是分別屬於不同領域的知識,
但卻是目前大家都需要的一項專業技能,要把三者融合的很好實在非常不容易,
剛好我有近20年的VB程式設計資料庫設計的經驗,
教EXCEL函數與相關課程也有多年,因此清楚如何把最重要的知識教給大家,
ADO資料庫設計的知識非常多,但根據我多年的設計實務經驗,
覺得最重要的是掌握SQL語言,就可以輕易的完成查詢、新增、修改與刪除等功能,
就可以輕易的完成自己想處理的大量資料,大大提高工作效率了!

上課用書是:
Excel函數&VBA其實很簡單
(http://www.books.com.tw/exep/prod/booksfile.php?item=0010457292)
Excel VBA 與資料庫整合大活用
(http://www.books.com.tw/exep/prod/booksfile.php?item=0010463634)

完整教學影音DVD申請
http://goo.gl/ZlBZE

其他相關學習:
    函數東吳進修推廣部, EXCEL, EXCEL VBA 函數 程式設計 線上教學 excel vba 教學 excel vba指令教學 vba範例教學excel  excel vba教學視頻 函數教學 excel函數

    2019年5月26日 星期日

    最新的完整VBA與Python教學影音DVD分享

    最新的完整VBA與Python教學影音DVD分享

    一直以來習慣上課完整錄音錄影,回上傳雲端並提供給上實體課的學員
    主要的目的時希望學習我的課的學員都能學會,
    提升上課的品質,學員只需抽空重複聽講,
    並不斷練習,再將所學反覆用在工作上,
    成效良好,除了效率提高外,
    自己的專業技能信心提高,工作自然勝任無虞,
    對未來的職涯規劃也更有希望。

    若非上課學員,也可以考慮選讀我2018年整理的完整上課 DVD,
    裡面有完整上課錄影,講義和練習檔案
    實在沒有時間前來上實體課,或是不住在大台北地區的學員
    也可以參考這樣的方式,上課若有疑問,
    也可以藉由EMAILFBYOUTUBE等方式提問,
    只要問題明確,幾乎會在第一時間回應。

    最新課程整理如下,
    光碟51_EXCEL VBA與資料庫雲端設計(入門2018) http://gg.gg/DVD_51
    光碟52_EXCEL VBA與資料庫雲端設計(進階2018) http://gg.gg/DVD_52 
    光碟53_EXCEL VBA樞紐基礎與進階2018 http://gg.gg/DVD_53
    光碟54_自強_從EXCEL VBA自動化到Python程式開發入門2018 http://gg.gg/DVD_54
    光碟55_從EXCEL VBA自動化到Python程式開發入門  http://gg.gg/DVD_55 
    VBA自動化到Python程式開發合輯:光碟50、54、55 
    EXCEL VBA入門+進階合輯2018(光碟51、52、53) ,送(光碟47、48、49)
    EXCEL VBA入門+進階+PYTHON合輯2018(光碟51、52、53、54、55) ,送(光碟47、48、49、50)

    主要以EXCEL VBA入門到進階,中間加入製作報表最常用的樞紐分析表應用教學
    再到Python程式開發入門,並推進到Python網站架設用Django框架,
    讓學習可以除了橫向連貫,也可以縱向連結,會VBA就會Python,
    並務求程式學習邏輯最簡單,程式撰寫最少化的原則。

    所以,為了讓中南部或無法配合上課的網路學員也能享受在台北上課一樣的便利,
    想無痛學會 EXCEL VBA入門與進階從VBA到Python程式設計等最新課程,
    又無法遠地奔波的學員所建立的機制,可以依自己的時間學習

    完整收錄上課影音,也提供上課講義、範例與補充資源

    此外,最近來上課的學員,其實一次要聽懂實在有點難度,
    如果想重聽,或想聽吳老師其他地方上課的內容,可以選擇入門課程合集
    除可多次學習外,也可以聽到不同面向的解法
    或建議先在家學習,然後在來上實體課(東吳、文化、自強),效果也會更好。

    最近很多學員來學習,幾乎沒基礎,上課實在很辛苦,
    尤其是VBA程式進階班,建議可以先選讀入門班課程,再來學習,

    效果會更好,更容易學會。

    申請與價格表:gg.gg/DVD_apply
    填寫以下後,先不要匯款給我,我會回信給您,等候同意後,
    再去匯款,避免彼此不必要的麻煩。 

    吳老師 2019/5/27

    tag:EXCEL,VBA,Python,教學影音DVD,吳老師,線上學習

    2019年5月21日 星期二

    讓EXCEL VBA具有進度狀態條功能(表單設計)

    讓EXCEL VBA具有進度狀態條功能(表單設計)




    示意畫面:



    緣起:

    由於範例黑名單篩選,需要查詢兩個範圍是否有相同資料,

    需要耗費時間比對,因此會有一小段時間需要讓使用者等待,

    此時若是有個進度狀態調出現,就可以讓使用者知道所需等待時間,
    與進行的進度,這樣可以讓VBA程式更加友善。
    但是該如何做,從那下手呢?
    首先需要知道的事VBA的表單設計,
    其次是當啟動表單之後,會觸發Activate事件,

    所以需要將狀態條的程式寫在這裡,

    讓迴圈中加入更新狀態條的比例。

    以下是詳細步驟截圖:



    1.設計表單

    加入Label控制項(大A)

    2.增加啟動表單功能

    Public Sub 查詢黑名單_表單()
       home.Show
    End Sub


    3.在Activate事件裡撰寫程式
    Private Sub UserForm_Activate()
       PB.Width = 0
       r = Sheets(1).Range("A2").End(xlDown).Row
       k = 1
       '1.取查詢名單和黑名單字串比對
       For i = 2 To r
           Sheets(1).Cells(i, "B") = "=CountIf(黑名單, A" & i & ")"
           '2.將結果寫到查詢結果
           If Sheets(1).Cells(i, "B") >= 1 Then
               Sheets(3).Cells(k, "A") = Sheets(1).Cells(i, "A")
               k = k + 1
           End If
           PB.Width = (i - 1) * (200 /r)
           Me.Repaint
       Next
       home.Hide
    End Sub


    4.在EXCEL中增加啟動表單按鈕

    所以如果按下按鈕,就會啟動進度狀態條表單,

    並觸發Activate事件裡的程式,

    此時就會到進度狀態條表單畫面會出現了。

    也就是將來如果有需要等待的VBA程式,

    就可以加入進度狀態條,讓程式更加專業有趣。



    教學影片:



    其他相關學習:
      教學論壇:
      https://groups.google.com/forum/#!forum/scu_excel_vba2_83

      與前幾期的課程雖然用的是相同的範例,但最大的不同在:
      1.除了解說建函數公式,並將之轉成自訂函數,把複雜的公式變簡單。
      2.如何將複雜的公式變成簡單的按鈕,按下按鈕就自動完成工作。

      內容主要分成:
      1.常用函數
      2.進階函數應用
      3.從函數到VBA設計
      4.如何自訂函數
      5.VBA程式設計入門
      6.如何錄製巨集與修改
      7.如何將大量資料轉存到資料庫
      8.如何讀取資料庫資料
      詳細目錄:http://goo.gl/eQptxx

      有講義與範例和完成的畫面公式與程式碼,
      只要按照每周的順序學習,學會EXCEL VBA自動化絕非難事,
      優點:
      1.可非線性學習:可按照自己最不熟的部分多次學習。
      2.可反覆學習:有疑問可以多次聽講,保證學的會。
      3.可攜帶學習:只要有瀏覽器就可以播放SWF檔,MAC電腦也沒問題。

      課程理念:
      1.以循序漸進的方式, 透過詳細的說明和實用的Excel VBA範例, 逐步了解整個 VBA 的架構與輪廓,進而學習 VBA 變數、函式及邏輯的觀念, 即使沒有任何程式設計基礎, 也能自己親手撰寫 VBA 程序來提昇工作效率, 晉身職場 Excel 高手! 2.進而解說EXCEL與資料庫的結合,將EXCEL當成資料庫來使用,結合函數、VBA等更深入的功能,讓資料處理和分析的應用更上層樓。 3.將結合GOOGLE雲端試算表,教您如何將EXCEL函數雲端化與網路化。

      更多EXCEL VBA連結:
      01_EXCEL函數與VBA(入門) http://terry55wu.blogspot.tw/p/excelvba.html
      02_EXCEL VBA自動化教學(進階) http://terry55wu.blogspot.tw/p/excel-vba.html

      吳老師 2019/5/21


      大數據, 巨集錄製, 函數東吳進修推廣部, 表單, 處理, 資料庫, ADO, EXCEL, excel函數教學, excel函數應用, SQL, VBA, vba教學視頻