EXCEL函數與VBA設計第1次上課
這次上課原本預計招收25人,結果一直增加到35人,
很怕第一次上課就會有坐不下的問題發生,
還好可能是因為第一次上課,依以往慣例有些人都不來,
怕會被選為班代,還有老師可能也只是例行的介紹課程,所以有幾個同學沒來,
因此座位還好暫時夠坐,下次可能就會有同學坐到電腦故障的位置吧!
建議下次請早點來坐好位置,
第一次上課也已經講解了課程設計,也利用GOOGLE文件作了線上自我介紹,
感覺比一個一個叫人自我介紹效果好很多,也省了蠻多時間,
可以很快得到學習的統計結果,這樣也比較可以知道大家學習的共同傾向,
取一個大家都覺得不錯的平衡點,教學也比較符合大多數人的需求。
第一次上課只是開個頭,解說了文字函數的使用,下次就要正式開始含數課程,
希望記得要自行列印講義,至於上課用書看看在幫大家問問有無更好折扣。
教學影音(完整版在論壇,只分享上課學員):
http://groups.google.com/group/labor_excel_vba?hl=zh-TW
01簡報說明01
01簡報說明02
01簡報說明03
01簡報說明04
01簡報說明05
02線上問券使用說明
03線上問卷結果解說
03線上問卷結果解說01
03線上問卷結果解說02
04文字與資料函數LEFT
05文字與資料函數REPT
1.有系統的學習函數的使用。2.Excel內建的VBA正是為了解決這種繁複、瑣碎的操作而生。3.以循序漸進的方式,透過詳細的說明和實用的範例。4.進而解說EXCEL與資料庫的結合。5.將結合GOOGLE雲端試算表。
備註:上課即時錄製教學,並於課後提供學員線上數位學習。
上課時數:每堂3小時共計10堂
授課:吳老師(元智大學助理教授)
課程大綱
堂數 類別 內容
第一堂 文字和資料函數 REPT&INT&ROUNDDOWN
LEFT&IF、RIGHT
第二堂 邏輯函數 IF、AND、OR、NOT
第三堂 尋找與參照函數 LOOKUP、HLOOKUP、VLOOKUP
第四堂 VBA編輯器 控制項名稱、變數名稱的命名規則
變數的宣告、變數資料類型
第五堂 操作資料庫1 將VBA活用在資料庫中
記錄、資料的搜尋、篩選
第六堂 操作資料庫2 將VBA活用在資料庫中
記錄、資料的搜尋
第七堂 以VBA來與外部資料庫合作 文字檔案的讀寫、利用QueryTable
使用ADO控制外部資料、操作XML資料
第八堂 實例:模擬考系統 函數佈局、出題
評分、程式改良、系統包裝
第九堂 實例:郵遞區號 除錯環境一、除錯環境二
陣列變數
第十堂 實例:個股進出表 讀取資料、計算頁數
找出起始列、程式組合
吳老師教學網:
http://3cc.cc/10g/
湜憶電腦
http://www.10g.com.tw/
部落格:
http://my10g.blogspot.com/
溫馨考場論壇:
http://123.205.192.177/uc/bbs/index.php/
湜憶電腦 國際電腦證照專業考場,原場地考試發照。
公司地址:台北市民權西路79號8樓之3(民權西路站正對面)
AUTOCAD2010 TQC TQC+ 電腦證照 湜憶電腦 民權西路站 AUTOCAD 3D SolidWorks AUTOCAD入門 溫馨考場

vba rounddown 在 Re: [VBA ] 取小數點第三位問題- 看板Visual_Basic 的美食出口停車場
※ 引述《changyg (Bob)》之銘言:
: ※ 引述《RuinGgg (Tank)》之銘言:
: : 主要是Data1 和Data2要去做簡單比較,
: : Data1裡面是Excel資料,有小數點,
: : 我是直接以Round(XX,3)來寫,
: : EX: 6.3333333 -> 6.333
: 直接在 Excel 使用 =round(儲存格,3) 就是常見的四捨五入。
: : Data2的資料是由VBA小程式跑出來的,
: : 其中我用worksheetfunction.round(XX,3)來寫,但是6.3333333會變成6.334
: : 另外試了worksheetfunction.rounddown,
: : 結果變成6.332....
: 我猜這邊描述有誤,因為直接使用 WorksheetFunction.Round(,3)
: 或是 WorksheetFunction.RoundDown(,3)
: 甚至 WorksheetFunction.RoundUp(,3)
: 相當於直接在 Excel 的儲存格輸入 =Round(), =RoundDown, =RoundUp()
: 不會出現你說的進位問題,都是單純的四捨五入、無條件捨去或進位。
: 你的提問應該是,
: 在 VBA 之下的 Round() 計算跟 使用 WorksheetFunction.Round() 為什麼有不同?
: 官方文件指出在 VBA 底下的 Round() 使用
: 奇進偶捨,又稱為四捨六入五成雙規則、銀行進位法(Banker's Rounding)
: ※維基百科 => (https://bit.ly/2DoAT6Q)
: ※Microsoft Docs => (https://bit.ly/2DqpnrN)
: 簡單來說,遇到 4 就捨去,遇到 6 就進位,
: 唯獨遇到 5 比較麻煩。
: 1. 5 後面有數值? 有 => 進位。
: 2. 5 後面沒有數值,
: 此時 5 前面的數字是偶數 => 捨去;5 前面是奇數 => 進位。
: 例如:
: Round(1.252,1)= 1.3 取小數第一位,5 後面有數值
: Round(1.25,1) = 1.2 取小數第一位,5 後面無數值且前面是 2 偶數
: Round(1.35,1) = 1.4 取小數第一位,5 後面無數值且前面是 3 奇數
: 因自己處理過計算數值的問題,藉此機會回答你的問題。:P
: (使用版本為 2007 Excel)
1. 感謝c大指正...
直接以數字"6.33333"去試Excel裡的Round和VBA裡的worksheetfunction.round,
確實結果是一樣的。
2. 簡單貼一下我的原始碼
For i = 3 To 99
For j = 1 To Cells(i - 1, 5)
Dbot = Cells(k - 1, 6) - Cells(i - 1, 2) / Cells(i - 1, 5)
Cells(k, 6) = WorksheetFunction.Round(Dbot, 3)
If k = 7 Then
End If
k = k + 1
Next j
Next i
這邊發現Dbot算出來的數字是6.3336667, 所以round出來本來就是6.334....
所以是我計算數值沒搞清楚的問題....
改了一下計算方式就可以對應了@@
算到頭暈了...
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.124.146
※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1537928524.A.B99.html
... <看更多>