公告版位

學員想學卻苦無名額因此整理上課的影音和講義分享

 

最近文化大學、東吳推廣部、自強工業基金會、新北市勞工大學等單位開課狀況良好,

上課人數經常是秒殺居多,尤其是VBA和PHTHON課程,

最近在文化大學推廣部

http://my.sce.pccu.edu.tw/MS/Detail.aspx?ProdId=8IS4sample

新北市勞工大學將開:

https://uni.labor.ntpc.gov.tw/HP0/HP06.asp

 

很多學員反應想學卻苦無名額,

因此這幾天整理了去年2017年上課的影音和講義等資料

首先是從EXCEL進階函數到VBA入門課程

自強從Excel函數到VBA雲端巨量資料庫應用班

課程詳細內容:https://goo.gl/umvBys 


VBA進階到資料庫的兩個不同單位課程,因學習對象不同課程也稍異:

自強Excel VBA辦公室提升效率自動化實務班

課程詳細內容:https://goo.gl/Ffh4uj 

勞大EXCEL VBA大數據自動化進階

課程詳細內容:https://goo.gl/BEBext 


最後是大家都很有興趣的PHTHON入門課程:

從EXCEL VBA自動化到Python程式開發入門 

課程詳細內容:https://goo.gl/tXXqXF


大家都有很大學習需求的用網頁概念作APP的:

跨平台APP開發使用Visual Studio2015與PhoneGap 

課程詳細內容:https://goo.gl/xnV6mo

 

並將課程整理為DVD或是雲端下載課程,

有興趣的網路學習者,也可以有學習的機會。


可以參考:

https://terry55wu.blogspot.tw/p/dvd.html

文章標籤

吳老師 發表在 痞客邦 留言(4) 人氣()

最新吳老師教學超完整懶人包

祝  大家新春如意,學習愉快

android教學, AUTOCAD 3D教學, e, EXCEL, EXCEL VBA 函數 程式設計, VBA, 大數據, 提升效率, 教學視頻 excel函數教學 excel函數, 

 

 

 
文章標籤

吳老師 發表在 痞客邦 留言(0) 人氣()

用EXCEL VBA做大數據分析視覺化程式設計教學心得分享

本學期應邀回母校台師大開課課程主要是:
用EXCEL VBA做大數據分析視覺化程式設計
 
另一個母校,東吳大學也邀請我開課,但限於自己的時間無法排出適合的時間,
於是系主任便推薦我開設遠距課程於是,
便有了可以在台師大上課,並將上課錄影除了提供上課學生複習,
也可以將後製後的影片,提供東吳的遠距課程的想法,
這樣我只要認真地把一次課程作法,就可以讓兩邊的學生都學習的好辦法。
 
於是開學後,台師大受限電腦教室,選修人數只有50人,加上加選5人,
有55位學生,幾乎是秒殺,至於東吳遠距課程,沒有這樣的限制,
所以選課人數近百人,有95位選修。
 

一、課程大綱:

期中前,主要從EXCEL高階函數巨集錄製VBA程式設計,
資料來源為政府開放資料,配合樞紐分析表。
 
期中後,網路爬蟲+樞紐分析到視覺化圖報表,用EXCEL內建功能與錄製巨集寫爬蟲,
無法抓取資料則用IE物件,將IE瀏覽器嵌入EXCEL VBA程式中,只要能連結的網頁,單可以下載裡面的資料。
 
 
 
課程進行中提供雲端講義,裡面有說明、畫面與老師自己寫的程式碼,並隨課全程錄影,
後製後上傳YOUTUBE,建立播放清單,直接件給學生複習與學習。
建立一個GOOGLE論壇,只有學生可以加入,
課後會將上課的YOUTUBE影片建立播放清單,並貼到論壇,
好處就是會自動轉信給學生,這樣我就不用一個一個的郵寄了,
用了超過十年覺得沒什麼問題,只是雖是論壇,
但討論的介面做的很不好,最好用的還是分享上課影片清單。
 
 
 

二、修課人數/學院分布

 

 

 

三、期中專題作業

 

 

 

 

 

四、期末專題作業

 

 

 

 

 

 

 

 

 

 

 

五、本學期授課心得:

1.兩學分真的有點趕,因此輔以影音錄製與雲端講義,對認真學習學生幫助很大。
2.期中專題有範圍,但許多學生都能加入自己的需求和想法,加上EXCEL容易上手,雖說需要撰寫VBA程式,但因為懂得錄製巨集與修改的方式,都能完成理想專題。
3.期末專題為難度很高的網路爬蟲+製作圖表,但結果超過預期的好,可見學生接受度很好,以學生回饋意見可知,上課錄影可重複學習備查,與雲端講義助益很大。
4.遠距學習(東吳)結果因為有影音與雲端輔助,成果不遜於實體上課。

 

非資訊背景教程式設計

非資訊卻講程式設計二十一年(89年巨匠教VB)
比較沒包袱,能從非資訊角度看學習與應用
重視實作,很多人看的懂書上寫的但寫不出程式
程式寫作要會寫,還要熟練,更需要完全正確(99分程式還是無法執行)
教學的核心都在如何幫助學生學會寫程式。
從EXCEL函數開始,再學習錄製巨集,再慢慢進入VBA程式設計的世界
 

如何幫學生寫出又快會好又正確程式

1.所有程式都是自己預先多次撰寫,用自己的寫作風格撰寫,不要求學生有標準答案,可以用自己的方式與邏輯寫程式。
2.提供雲端即時講義,取名雲端白板,有解答程式畫面結果與文字敘述。
3.隨課錄影,並課後上傳YOUTUBE播放清單用用GOOGLE論壇分享。
4.期中報告以開放資料為資料來源,用EXCEL樞紐分析圖表、函數、巨集與VBA完成專題。
5.期末報告以網路爬蟲取得資料(GET與POST),用EXCEL製作圖表與VBA完成專題。
 

Pyhton V.S. VBA

自己也教Pyhton發現還是比VBA來的困難
1.安裝環境
2.有EXCEL可以存資料,甚至當資料庫
3.有錄製巨集可以產生不會寫的程式
4.樞紐分析 vs Pandas
5.圖表 vs Matplotlib
入門的學生與非資訊相關科系,建議可以先從學習VBA設計下手
 

第14次上課教學影片分享:

(期末專題作業說明&全省氣溫改為跨工作表與物件的使用&跨工作表說明與用IE物件)

 

教學論壇:

 

EXCEL VBA進階班的課程規劃

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用

單元01_資料拆解相關(VBA)
單元02_輸入自動化與表單設計
單元03_用ADO匯入與匯出資料庫
單元04_大量工作表合併與分割
單元05_資料查詢(篩選與分割工作表)
單元06_下載網路資料(YAHOO股市)
單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)
單元08_視覺化報表與快速匯入圖片


其他相關學習:

函數東吳進修推廣部, EXCEL, EXCEL VBA 函數,程式設計,線上教學
文章標籤

吳老師 發表在 痞客邦 留言(0) 人氣()

用EXCEL VBA網路爬蟲擷取YAHOO股市資料

 

EXCEL錄製巨集爬取YAHOO股市資料,

會有亂碼的問題,用PYTHON來爬取,

對一般人來說門檻又太高,

如果如何在EXCEL VBA就可以輕鬆爬取網路資料,

就是本文所要分享的重點。

當然本文不是要推崇VBA有多棒,Python不好用,

我的想法是只要用對工具,工作可以很愜意,

可以協同應用工具,讓彼此都能發揮最大的強項,

是本文寫說明的,

另外順便分享在EXCEL除了用匯入資料從WEB功能外,

也可以用IE物件,

功能很像是Python的requests加上beautifulsoup4差不多功能,

不同的是,可以將下載的資料直接放在EXCEL,

也就是把EXCEL當成資料庫用,這樣可以減少很多資料庫匯入匯出的麻煩。

 

首先,YAHOO股市當日行情表網址:

https://tw.stock.yahoo.com/class-quote?sectorId=1&exchange=TAI

 

*改用IE物件下載

 

VBA程式碼

Sub 下載YAHOO_水泥()

    '清除資料

    Cells.Clear

    '1.建立IE物件

    Set ie = CreateObject("internetexplorer.application")

    '2.連線到網址

    ie.navigate "https://tw.stock.yahoo.com/class-quote?sectorId=1&exchange=TAI"

    '3.等待3秒

    Application.Wait (Now + TimeValue("0:00:5"))

    '4.取得網頁中第1個表格

    Set tbl = ie.document.getElementsByTagName("ul")(5)

    '5.取得表格中所有的列<tr>

    Set trs = tbl.getElementsByTagName("li")

'    '6.取得列中的每一個儲存格內文字<td>如果沒有<td>抓<th>

    For i = 0 To trs.Length - 1

        Set tds = trs(i).getElementsByTagName("div")

        For j = 5 To tds.Length - 1

            Cells(i + 1, j - 4) = tds(j).innertext

        Next

    Next

    Columns("C").Delete

    ie.Quit    

    Rows(1).Insert

    Range("A1") = "股票名稱": Range("B1") = "代號": Range("C1") = "股價"

    Range("D1") = "漲跌": Range("E1") = "漲跌幅(%)": Range("F1") = "開盤"

    Range("G1") = "昨收": Range("H1") = "最高": Range("I1") = "最低"

    Range("J1") = "成交量 (張)": Range("K1") = "時間"

    Columns.AutoFit

End Sub

教學影片分享:

 

 

教學論壇:

 
 

EXCEL VBA進階班的課程規劃

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用

單元01_資料拆解相關(VBA)
單元02_輸入自動化與表單設計
單元03_用ADO匯入與匯出資料庫
單元04_大量工作表合併與分割
單元05_資料查詢(篩選與分割工作表)
單元06_下載網路資料(YAHOO股市)
單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)
單元08_視覺化報表與快速匯入圖片


其他相關學習:

函數東吳進修推廣部, EXCEL, EXCEL VBA 函數,程式設計,線上教學
文章標籤

吳老師 發表在 痞客邦 留言(0) 人氣()

用COUNT相關函數與VBA統計樂透彩中獎機率

 

完成結果:

 

 

 

 

昨天在東吳進修推廣部講到數學函數單元,最重要的用到COUNTIF函數

並舉到樂透彩中獎機率範例

分享幾個好用的EXCEL應用技巧,

1.定義名稱範圍

2.自訂格式化

3.用公式設定格式化條件

這個範例可以用再只要需要統計機率

就可以用COUNTIF函數快速的統計出機率,

當然這些資料來自網路上的開放資料,

也可以配合VBA自動下載網路資料

 

上課畫面:

01_完成結果畫面

02_定義名稱所有的101年號碼

03_用COUNTIF與COUNT算出機率

04_格式化成10000分之多少

05_算出排名

06_前7名格式化

 

完整的教學影片:

 

請先看之前的課程:

如何用EXCEL統計樂透彩中獎機率範例

https://terry55wu.blogspot.com/2015/08/excel.html

如何將數學函數轉EXCEL VBA設計之一

http://terry55wu.blogspot.tw/2014/09/excel-vba_19.html

如何將數學函數轉EXCEL VBA設計之二

http://terry55wu.blogspot.tw/2015/01/excel-vba.html

提高工作效率_黑名單篩選範例分享

http://terry55wu.blogspot.tw/2015/06/blog-post.html

雲端問卷調查及EXCEL統計分析研習分享

http://terry55wu.blogspot.tw/2014/11/excel.html

 

EXCEL VBA進階班的課程規劃

 

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用

單元01_資料拆解相關(VBA)

單元02_輸入自動化與表單設計

單元03_用ADO匯入與匯出資料庫

單元04_大量工作表合併與分割

單元05_資料查詢(篩選與分割工作表)

單元06_下載網路資料(YAHOO股市)

單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)

單元08_視覺化報表與快速匯入圖片

 

其他相關學習:

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

文章標籤

吳老師 發表在 痞客邦 留言(0) 人氣()

如何在EXCEL中錄製巨集與精簡為VBA程式(範例黑名單篩選)

 

請先看之前的課程:

如何用COUNTIF函數篩選黑名單(無須撰寫VBA) [連結]

提高工作效率_黑名單篩選範例分享  [連結]

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

 

完成結果:

 

昨天在東吳進修推廣部講到數學函數單元,最重要的用到COUNTIF函數

並舉到黑名單篩選範例,實際上,這有點類似資料庫的應用

只要未來需要查詢大量清單資料,就可以使用CONTIF來查詢,

只要結果大於1,就表示有找到資料,

但是,無法比對關鍵字查詢等的簡易查詢,

若要進階查詢,還是要用VBA的Instr函數

或是篩選的功能VBA,或是SQL語法等,

不過COUNTIF算是最簡單的。

若是要將整個動作變為按鈕一件重複完成,

可以利用錄製巨集完成,

但如何錄製巨集還是需要注意幾個重點:

1.錄製巨集前要彩排

2.錄製執行後記得要加上註解

3.可以關閉畫面更新

4.看懂VBA程式並進行精簡

 

上課畫面:

01_下載黑名單範例

 

02_建立黑名單名稱範圍

 

03_用COUNTIF函數判斷是在黑名單

 

04_篩選結果為0並刪除列

 

 

完整的教學影片:

 

EXCEL VBA進階班的課程規劃

 

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用

單元01_資料拆解相關(VBA)

單元02_輸入自動化與表單設計

單元03_用ADO匯入與匯出資料庫

單元04_大量工作表合併與分割

單元05_資料查詢(篩選與分割工作表)

單元06_下載網路資料(YAHOO股市)

單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)

單元08_視覺化報表與快速匯入圖片

 

其他相關學習:

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

文章標籤

吳老師 發表在 痞客邦 留言(0) 人氣()

班級資料工作表的分割與合併(用EXCEL VBA)

 

最常遇到學員問到如何將工作表分割與合併為同一個工作表

若是用人工方式複製貼上,真的非常浪費時間,

工作表越多越麻煩,

其實只要一個迴圈,加上範圍複製,與資料篩選,

其實就可以在瞬間完成工作,

以下分享用VBA直接撰寫程式,將工作表分割合併的方法。

 

 

完成畫面:


分割工作表

 

程式碼

 合併工作表

 

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

 

教學影音完整版在論壇:

https://groups.google.com/forum/#!forum/scu_excel_vba2_86

 

EXCEL VBA進階班的課程規劃

 

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用

單元01_資料拆解相關(VBA)

單元02_輸入自動化與表單設計

單元03_用ADO匯入與匯出資料庫

單元04_大量工作表合併與分割

單元05_資料查詢(篩選與分割工作表)

單元06_下載網路資料(YAHOO股市)

單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)

單元08_視覺化報表與快速匯入圖片

 

其他相關學習:

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

吳老師 發表在 痞客邦 留言(0) 人氣()

開課訊息:

東吳推廣部 從EXCEL VBA到Python開發

 

上課日期

2020-02-10 時數 32節

 

上課內容:

因應大數據分析、物聯網與AI智慧辦公室的需求,能更容易的學會網路爬蟲、機器學習、物聯網、影像辨識、自動圖像報表等需求,其中以EXCEL VBA與Python程式開發最為熱門,因此將VBA的自動化延伸到PYTHON設計,讓學員能夠比較兩個工具的長處,並能相互協同應用。

 

教學內容

單元01_建置Python開發環境與程式測試

單元02_基本語法與結構控制件

單元03_迴圈資料結構與自訂函數

單元04_串列、字典與檔案與資料庫處理

單元05-1_開放資料處理CSV和JSON資料處理(停車與PM2.5)

單元05-2_開放資料處理練習題_新北市開放資料JSON

單元05-3_GOOGLE雲端當CSV來源與CSV處理

單元05-4_網頁資料擷取基礎與外匯

單元05-5_網頁資料擷取台彩與股市資料

單元05-6_擷取網頁上櫃股票行情

單元06_使用Pandas與處理_Excel_試算表

單元07_VBA與Phython連結MYSQL資料庫

單元08_視覺化報表使用圖表繪製Matplotlib

備註:本課程上課即時錄製教學,並於課後提供學員線上數位學習。

 

連結:

https://www.ext.scu.edu.tw/courses1.php?gid=7f9f1389-1fa1-11ea-abcd-000c29ad6982

 

 

 

 

 

吳老師  108/12/30

吳老師 發表在 痞客邦 留言(0) 人氣()

EXCEL VBA網路爬取大樂透歷史資料

如果想將網路上總共有57頁網頁資料複製到EXCEL工作表中,

如果用土法煉鋼是非常花時間的事,如果每天需要經常性抓取網路資料,

真的非常必要用VBA程式來完成

其實就是目前很夯的網路爬蟲,

Python 程式相比,VBA相對比較親民一些,

直接抓取到EXCEL相對的好處理後續的動作

利用VBA程式,配合 For迴圈+If邏輯判斷一下

基本上程式就可以快速一鍵完成資料下載。

接下來要產生報表作統計分析,或是視覺化圖表就更簡單了。

以下有六個步驟如下,

1.錄製巨集與修改VBA程式

2.VBA寫刪除日期列

3.VBA寫複製日期

4.VBA寫刪除列

5.VBA寫增加中獎號碼

 

6.VBA寫剖析資料

 

 

完成畫面:


統計結果:

 

 

大樂特歷史資料下載程式碼

 

 

**利用資料的從WEB功能下載資料,再利用錄製巨集產生基本VBA程式加以修改

1.資料的從WEB功能

 

程式碼:

Sub 大樂透下載()

    With ActiveSheet.QueryTables.Add(Connection:= _

        "URL;https://www.lotto-8.com/listltobigbbk.asp?indexpage=1&amp;orderby=new", _

        Destination:=Range("$A$1"))

        .WebFormatting = xlWebFormattingNone

        .WebTables = "5"

        .Refresh BackgroundQuery:=False

    End With

End Sub

 

Sub 批次大樂透下載()

    For i = 1 To 57

        '1.匯入WEB資料

        If Range("A1") = "" Then

            r = 1

        Else

            r = Range("A1").End(xlDown).Row + 1

        End If

        With ActiveSheet.QueryTables.Add(Connection:= _

            "URL;https://www.lotto-8.com/listltobigbbk.asp?indexpage=" &amp; i &amp; "&amp;orderby=new" _

            , Destination:=Range("$A$" &amp; r))

            .WebFormatting = xlWebFormattingNone

            .WebTables = "5"

            .Refresh BackgroundQuery:=False

        End With

    Next

End Sub

 

VBA程式碼

Sub 刪除日期列()

    For i = Range("A1").End(xlDown).Row To 2 Step -1

        If Cells(i, "A") = "日期" Then

            Rows(i).Delete

        End If

    Next

End Sub

Sub 複製日期()

    For i = 2 To Range("A1").End(xlDown).Row

        If (i - 2) Mod 3 = 0 Then

            Cells(i, "A") = Cells(i + 1, "A")

            Cells(i, "A").NumberFormatLocal = "yyyy/m/d"

        End If

    Next

End Sub

Sub 刪除列()

    For i = Range("A1").End(xlDown).Row To 4 Step -3

        Rows(i).Delete

        Rows(i - 1).Delete

    Next

End Sub

Sub 增加中獎號碼()

    For j = 1 To 6

        Cells(1, j + 3) = j

    Next

End Sub

Sub 剖析資料()

    For i = 2 To Range("A1").End(xlDown).Row

        Range("D" &amp; i &amp; ":I" &amp; i) = VBA.Split(Cells(i, "B"), ",")

    Next

End Sub

Sub 刪除B欄()

    Columns("B").Delete

    Columns.AutoFit

End