2017年3月25日 星期六

從計算數字個數到留下數字或英文或中文自訂函數

從計算數字個數到留下數字或英文或中文自訂函數

預覽畫面:


常遇到儲存格中若有英文(分大小寫)、數字和中文夾雜
但若只要取出其中的數字或英文或中文,
不懂VBA,這個問題將非常麻煩,資料少還可以徒法煉鋼,
慢慢複製貼上,但若資料非常巨量,將是巨大麻煩,
本文分享從計算數字個數開始,
MID、CODE、ROW、IFFERROR、SUM加上陣列計算數字個數,
已經夠複雜的了,若要再取出數字部分,那就更加困難,
建議改為VBA的自訂函數,
除了可以計算數字個數與非數字個數,
亦可留下數字,或英文或中文教您學會如何簡單自訂VBA函數

1.計算數字個數公式:

{=SUM(IFERROR((CODE(MID(A2,ROW($1:$99),1))>47)*(CODE(MID(A2,ROW($1:$99),1))<58 span="">


2.計算非數字個數公式:

{=SUM(IFERROR((CODE(MID(A2,ROW($1:$99),1))<48>57),0))}


**內碼表:



1.首字轉編碼

=CODE(MID(A2,1,1))



2.判斷48-57間

=(CODE(MID(A2,1,1))>47)*(CODE(MID(A2,1,1))<58 span="">

=IFERROR((CODE(MID(A2,1,1))>47)*(CODE(MID(A2,1,1))<58 span="">

3.數字個數

=SUM(IFERROR((CODE(MID(A2,{1,2,3,4,5,6,7,8,9},1))>47)*(CODE(MID(A2,{1,2,3,4,5,6,7,8,9},1))<58),0))

4.數字個數陣列(Ctrl+Shift+Enter)

{=SUM(IFERROR((CODE(MID(A2,{1,2,3,4,5,6,7,8,9},1))>47)*(CODE(MID(A2,{1,2,3,4,5,6,7,8,9},1))<58),0))}

5.非數字個數

{=SUM(IFERROR((CODE(MID(A2,{1,2,3,4,5,6,7,8,9},1))<=47)+(CODE(MID(A2,{1,2,3,4,5,6,7,8,9},1))>=58),0))}


VBA部分:

Public Function 數字個數函數(原始資料)

   Count = 0
   '1.字數迴圈範圍
   For i = 1 To Len(原始資料)
       '2.判斷是否為數字
       If VBA.Asc(Mid(原始資料, i, 1)) > 47 And VBA.Asc(Mid(原始資料, i, 1)) < 58 Then
           '3.如果是就+1
           Count = Count + 1
       End If
   Next
   '4.回傳給自己(數字個數函數)
   數字個數函數 = Count
End Function

Public Function 非數字個數函數(原始資料)

   Count = 0
   '1.字數迴圈範圍
   For i = 1 To Len(原始資料)
       '2.判斷是否為數字
       If VBA.Asc(Mid(原始資料, i, 1)) <= 47 Or VBA.Asc(Mid(原始資料, i, 1)) >= 58 Then
           '3.如果是就+1
           Count = Count + 1
       End If
   Next
   '4.回傳給自己(數字個數函數)
   非數字個數函數 = Count
End Function
Public Function 留下數字函數(原始資料)
   '初始值
   S = ""
   '1.迴圈到字串長度
   For i = 1 To Len(原始資料)
       '2.判斷數字的編碼範圍
       If VBA.Asc(Mid(原始資料, i, 1)) > 47 And VBA.Asc(Mid(原始資料, i, 1)) < 58 Then
           '3.串接數字
           S = S & Mid(原始資料, i, 1)
       End If
   Next
   '4.輸出結果
   留下數字函數 = S
End Function


Public Function 留下英文函數(原始資料)

   '初始值
   S = ""
   '1.迴圈到字串長度
   For i = 1 To Len(原始資料)
       '2.判斷數字的編碼範圍
       If VBA.Asc(VBA.UCase(Mid(原始資料, i, 1))) >= 65 And VBA.Asc(VBA.UCase(Mid(原始資料, i, 1))) <= 90 Then
           '3.串接數字
           S = S & Mid(原始資料, i, 1)
       End If
   Next
   '4.輸出結果
   留下英文函數 = S
End Function


Public Function 留下中文函數(原始資料)

   原始資料 = Application.WorksheetFunction.Asc(原始資料)
   '初始值
   S = ""
   '1.迴圈到字串長度
   For i = 1 To Len(原始資料)
       '2.判斷數字的編碼範圍
       If VBA.Asc(Mid(原始資料, i, 1)) > 127 Or VBA.Asc(Mid(原始資料, i, 1)) < 0 Then
           '3.串接數字
           S = S & Mid(原始資料, i, 1)
       End If
   Next
   '4.輸出結果
   留下中文函數 = S
End Function

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

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

課程特色:
1.如何將函數轉成VBA2.VBA與資料庫快速結合

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
論壇:http://groups.google.com/group/labor_excel_vba?hl=zh-TW

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

2017年3月16日 星期四

分享Android_Studio2.3安裝與免安裝版製作(中央大學)

分享Android_Studio2.3安裝與免安裝版製作(中央大學)
我完成的Android_Studio2.3免安裝版提供給大家參考:[下載]

教學預覽:


繼上次發表[ANDROID APP開發與雲端實務應用(第1次上課建置與開發)]
與 [吳老師分享免安裝Android_Studio與設定步驟]
之後就有一段時間沒發文分享 Android APP開發心得,
其實,開發Android APP需要面臨的挑戰還真多,
要把JAVA先學好外,還要面臨因為 Android SDK不斷更新所帶來的改變,
很多學員舊的版本都還沒會就有新版推出
關於到底要不要用最新的版本開發,
我到有點不同意見,由於用了最新的SDK之後,
就自動幫你了家很多的版型或原件,這讓本來已經不熟Android APP更加卻步,
所以初入門的學員還是建議先用舊的2.33來開發,等到基本元件都熟了再來升級也不遲,
因為環境單純比較不會發生無法預期的問題,
其實ECLIPSE、Android SDK、JAVA SDK之間本來就是不同的三家公司
屆時拼裝的環境出錯,到底是誰的問題也很難說,到不如用穩定的舊SDK開發。
另一點就是妳的電腦設備也要夠快,
否則開發Android APP有時會慢到讓你以為你的APP當掉了,
建議至少I5以上的CPU64位元環境8GB以上的RAM,在加上SSD的硬碟
這樣來跑Android APP開發才能至少稱上順,硬體越高階越好囉!
至於最近除了用 ECISPE4.22開發外,也開始將寫好的結果,
Android_Studio可攜版來試試,發現相容性很好,
舊專案轉移到Android_Studio不是什麼大問題

Android Studio是個具有圖形化界面的程式碼編輯開發平台,
在AndroidStudio中可以編寫程式碼,
也可以用它來進行專案的儲存、 測試、 除錯、 甚至封裝成執行檔的工作,
當然最重要的是其為免費,因此在Android 官方網站中,
建議使用 Android Studio 整合環境做為 Android 應用程式的開發平台。

請先下載Android Studio,最新2.3版安裝版,
https://developer.android.com/studio/install.html

下載之後就安裝,然後依照下方步驟完成可攜版的建置:
01_選擇安裝項目,建議全選
02_安裝路徑,建議IDE與SDK分開,但在同一個資料夾

03_回放同資料夾裡的不同目錄

04_執行Studio為32位元,Studio64為64位元


完成之後就可以把資料複製貼上到其他電腦,免安裝也可以執行了,
我完成的Android_Studio2.3免安裝版提供給大家參考:[下載]

以下為啟動Studio執行檔後的畫面
01_啟動Android_Studio

02_選自訂

03_記得選正確的SDK

04_完成後下載一點檔案

05_等待一下

06_更新最新版的SDK

07_完成開啟選擇新專案

08_完成開啟選擇新專案

09_恭喜進入IDE開發緩竟

10_再來就是增加模擬器

11_模擬器記得用X86的
12_習慣用3.2吋HVGA來跑

13_和ECLIPSE一樣先介面再程式

14_把之前ECLIPSE寫的XML直接貼上

15_用X86模擬器來跑很順

16_練習單選原件(RedioButton)範例

上課教學影音:


懶人包:http://terry55wu.blogspot.com/p/android.html

課程理念與課程介紹:
Android智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達500萬人次以上,手機相關應用,將會超
越PC,比PC更智慧,更貼近個人使用習慣,未來APP將漸取代Web,成
為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面
開發、測試與除錯等,進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。

參考書目
Android 初學特訓班
作者:鄧文淵/總監製;文淵閣工作室/編著

相關教學:
Android 教學研習心得分享懶人包:http://terry55wu.blogspot.com/p/android.html

2016-04-15 吳老師分享免安裝Android_Studio與設定步驟
2015-09-14 Android開發實務下拉清單Spinner與樣板
2015-08-06 如何直接從網頁取得資料並顯示在APP中(APP開發範例台銀匯率)
2015-07-02 Android開發實例第10次Gallery與BroadcastReceiver
2015-07-01 Android開發實例第18次申請開發人員帳號
2015-07-01 Android開發實務範例全民英檢查詢APP
2015-07-01 Android開發實務下拉清單Spinner與樣板
2015-07-01 Android開發實務相簿藝廊Gallery範例
2015-06-15 Android開發實務基本相簿Photoplayer範例
2015-06-15 Android開發實務相簿表格GridView範例
2015-06-13 智慧型手機開發進階SQLite資料庫的存取方式
2015-06-13 智慧型手機進階SQLite資料庫的存取方式
2015-05-25 如何讓圖片有縮放功能(增加TouchImageView類別)
2015-05-18 把Android APP專案轉移Android_Studio分享
2015-03-22 ANDROID APP開發與雲端實務應用(第1次上課建置與開發)
2015-01-28 Android APP程式開發證照教學懶人包(new)
2015-01-16 Android開發實務相簿表格GridView範例
2015-01-16 Android開發實務相簿藝廊Gallery範例
2015-01-16 Android開發實務基本相簿Photoplayer範例
2015-01-16 Android開發實務下拉清單Spinner與樣板
2015-01-16 Android開發實務相簿藝廊Gallery範例
2015-01-16 健行科大Android程式設計實務第4次上課_RadioButton
2015-01-16 Android開發實務Input介面設計與AlertDialog
2015-01-16 Android開發實務多按鈕與多國語系
2015-01-16 Android程式實務第1次上課(馬上建置與開發)
2014-07-13 艾鍗Android行動應用程式設計實務(如何產生功能表選單)
2014-07-13 如何使用ListView 介面元件
2014-07-13 教您學會簡易相簿APP範例Phoneplayer專案
2014-07-13 如何在Android APP的ListView 元件同時加上圖與字
2014-01-12 智慧型手機(Android)設計入門第15次
2014-01-05 智慧型手機(Android)設計入門第14次
2013-09-28 智慧型手機設計入門第2次(102年)
2013-02-03 Android開發實例進階(勞大) 影音DVD完工
2013-01-13 智慧型手機開發實例與證照解析(Android)第18次上課
2013-01-13 建國科大APP產業演講影音(共2小時)
2012-12-22 智慧型手機開發實例與證照解析(Android)第15次上課
2012-12-22 智慧型手機開發實例與證照解析(Android)第11次上課
2012-12-08 智慧型手機開發實例與證照解析(Android)第13次上課
2012-12-08 海洋資通APP開發課程第10次上課
2012-11-18 智慧型手機開發實例與證照解析(Android)第10次上課
2012-11-02 智慧型手機開發實例與證照解析(Android)第9次上課
2012-10-28 智慧型手機開發實例與證照解析(Android)第8次上課

完整教學影音DVD分享申請 [連結]
APP與Android程式開發:
**Android_Studio2合集(光碟41、42+送37) 

android app教學,android 開發教學,android 程式教學,android eclipse,android 使用教學,Andriod ,android ,程式教學 ,android ,eclipse ,Android Studio,App開發教學,app開發課程,手機app開發教學