公告版位

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

 

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

上課人數經常是秒殺居多,尤其是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 Sub

Sub 大樂透下載()

    Call 批次大樂透下載

    Call 刪除日期列

    Call 複製日期

    Call 刪除列

    Call 增加中獎號碼

    Call 剖析資料

    Call 刪除B欄

End Sub

 

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

 

教學影音完整版在論壇:

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快速將大量的EXCEL檔轉為PDF檔

 

這是EXCEL VBA進階課程的單元七的大量工作表的分割時講到,

剛好有學員問道如果想把大量的工作表,直接分割為PDF檔,

該怎麼做?其實只要一個For迴圈配合ExportAsFixedFormat方法,

就可以快速的將大量的工作表輸出為一個一個的PDF檔,

省去人工所要花費的時間,如果你每天都需要將工作表轉為PDF,

這個分享,應該可以幫到您很多的忙,節省大量時間。

 

其他可參考

如何用EXCEL VBA批次轉PDF檔  [連結]
[問題詢問]如何修改VBA讓EXCEL自動轉存成PDF時不會出現副檔名 [連結]
先學會如何用EXCEL VBA批次另存成2003與CSV等格式 [連結]
如何用EXCEL VBA自動批次匯入圖片與超連結 [連結]
如何增加EXCEL VBA按鈕 [連結]

 

預覽:


大數時代來臨如果不懂得裡用自動化方式處理資料,

處理資料將非常沒有效率,

至於處理大數據的方案很多,

但最通行也沒有額外費用的大概只剩VBA了。

而且開啟EXCEL就包含VBA,除了在Windows外,

MAC蘋果電腦一樣也有EXCEL,

VBA也可以沿用以前VB的資源,這樣看來VBA處理大數據應該沒有什麼對手了。

 

 

 

程式碼:

Public Sub 批次將工作表轉存為工作簿_PDF()