使用 chatGPT 學習寫程式
chatGPT 人工智慧可以幫你練習VBA程式幾秒鐘寫出程式真的可用,我只加了 On Error Resume Next 修正錯誤
[url]https://openai.com/blog/chatgpt[/url]
chatGPT詢問如下:
在EXCEL裡面用VBA程式繪出動態圓形時鐘
chatGPT回覆如下:
以下是一個簡單的VBA程式,可以在Excel中繪製一個動態的圓形時鐘:
Sub DrawClock()
Dim i As Integer
Dim j As Integer
Dim r As Integer
Dim pi As Double
Dim ang As Double
Dim x As Double
Dim y As Double
'設定圓心座標及半徑
r = 100
x = 150
y = 150
'取得當前時間
h = Hour(Now)
m = Minute(Now)
s = Second(Now)
'清除舊時鐘
On Error Resume Next '防止第一次沒有資料可刪會錯誤中斷
ActiveSheet.Shapes.Range(Array("Clock")).Delete
'繪製時鐘圓形
Set myshape = ActiveSheet.Shapes.AddShape(msoShapeOval, x - r, y - r, 2 * r, 2 * r)
myshape.Name = "Clock"
myshape.Line.ForeColor.RGB = RGB(0, 0, 0)
'繪製時鐘刻度
pi = 3.14159265359
For i = 1 To 12
ang = pi / 6 * (i - 3)
x1 = x + r * Cos(ang)
y1 = y + r * Sin(ang)
x2 = x + (r - 10) * Cos(ang)
y2 = y + (r - 10) * Sin(ang)
Set myshape = ActiveSheet.Shapes.AddLine(x1, y1, x2, y2)
myshape.Line.Weight = 2
myshape.Line.ForeColor.RGB = RGB(0, 0, 0)
Next i
'繪製時針
ang = pi / 6 * (h - 3) + pi / 360 * m + pi / 21600 * s
x1 = x
y1 = y
x2 = x + (r - 50) * Cos(ang)
y2 = y + (r - 50) * Sin(ang)
Set myshape = ActiveSheet.Shapes.AddLine(x1, y1, x2, y2)
myshape.Line.Weight = 4
myshape.Line.ForeColor.RGB = RGB(255, 0, 0)
'繪製分針
ang = pi / 30 * (m - 15) + pi / 1800 * s
x1 = x
y1 = y
x2 = x + (r - 30) * Cos(ang)
y2 = y + (r - 30) * Sin(ang)
Set myshape = ActiveSheet.Shapes.AddLine(x1, y1, x2, y2)
myshape.Line.Weight = 3
myshape.Line.ForeColor.RGB = RGB(0, 255, 0)
'繪製秒針
ang = pi / 30 * (s - 15)
x1 = x
y1 = y
x2 = x + (r - 20) * Cos(ang)
y2 = y + (r - 20) * Sin(ang)
Set myshape = ActiveSheet.Shapes.AddLine(x1, y1, x2, y2)
myshape.Line.Weight = 1.5
myshape.Line.ForeColor.RGB = RGB(0, 0, 255)
End Sub [i=s] 本帖最後由 Andy2483 於 2023-3-2 12:11 編輯 [/i]
[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120584&ptid=23911]1#[/url] [i]ML089[/i] [/b]
前輩好久不見,謝謝前輩分享指導
這科技很厲害,會顛覆很多事情 OpenAI....這個要用電話認証, 似乎中國/香港的電話都註冊不到....:( [b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120612&ptid=23911]3#[/url] [i]rcyw[/i] [/b]
我用 Chrome 開啟 chatGPT,,直接用 google 帳號 直接註冊,就可以使用。 很好用, 我最新寫VBA都問他. 很強. 但有時候因為版本的不同, 會鬼打牆 [quote]chatGPT 人工智慧可以幫你練習VBA程式
幾秒鐘寫出程式真的可用,我只加了 On Error Resume Next 修正錯誤 ...
[size=2][color=#999999]ML089 發表於 2023-2-28 09:56[/color] [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120584&ptid=23911][img]http://forum.twbts.com/images/common/back.gif[/img][/url][/size][/quote]
感謝前輩的教導,剛好敝人最近也有研究分享給大家。
[attach]35917[/attach] [b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120612&ptid=23911]3#[/url] [i]rcyw[/i] [/b]
呃,我在大陆都注册了,不过我问它的问题,它返回的代码几乎没有一个能用的。 [b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120666&ptid=23911]5#[/url] [i]checkout88[/i] [/b]
回覆中有些程序或一些參數總是會有一些無法執行,
有些是EXCEL版本的問題,有些是EXCEL VBA 與 其他VBA也有些指令不相容
但作為輔助查詢工具,真的比GOOGLE好用太多了。 [b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120680&ptid=23911]7#[/url] [i]Joforn[/i] [/b]
你應該問的問題太難了或太複雜了,考倒了chatGPT
適用一般初學問題一些指令、小範例啊,真的幫助滿大的。 [quote]chatGPT 人工智慧可以幫你練習VBA程式
幾秒鐘寫出程式真的可用,我只加了 On Error Resume Next 修正錯誤 ...
[size=2][color=#999999]ML089 發表於 2023-2-28 09:56[/color] [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120584&ptid=23911][img]http://forum.twbts.com/images/common/back.gif[/img][/url][/size][/quote]
這裡有別的AI機器人外掛:[attach]36041[/attach] 跟他玩了一個月
發現這傢伙寫程式非常不靠譜
錯誤百出
有些錯誤到底如何改正 , 它自己也不知道
我舉個例
實際上 1+1 這種問題太簡單 , ChatGpt 不會犯錯的
但為了讓大家更能輕易理解它的瑕疵在哪 , 我還是用了 1+1 來舉例
ChatGpt : 1 + 2 = 4
我: 你確定 1 + 2 不是 = 3 嗎
ChatGpt : 很抱歉 我先前回答有誤 ( 或說 它自己不小心 ) , 1 + 2 = 3 確實才是正確的
[b][color=Blue]重複問它[/color][/b]
我: 你確定 1 + 2 不是 = 4 嗎
ChatGpt : 很抱歉 我先前回答有誤 , 1 + 2 = 4 確實才是正確的
[b][color=Blue]重複問它[/color][/b]
我: 你確定 1 + 2 不是 = 3 嗎
ChatGpt : 很抱歉 我先前回答有誤 , 1 + 2 = 3 確實才是正確的
從上面可以看出什? 看出 ChatGpt 自己根本也不知道正確答案 [quote]回復 rcyw
呃,我在大陆都注册了,不过我问它的问题,它返回的代& ...
[size=2][color=#999999]Joforn 發表於 2023-3-13 23:55[/color] [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120680&ptid=23911][img]http://forum.twbts.com/images/common/back.gif[/img][/url][/size][/quote]
確實太不靠譜了 底下是我測試ChatGpt 的問題:
[color=Red][b]請產生華氏與攝氏互換的VBA程式碼[/b][/color]
結果產生兩個自訂函數程式碼如下:
'將華氏轉換為攝氏
Function FahrenheitToCelsius(fahrenheit As Double) As Double
Celsius = (fahrenheit - 32) * 5 / 9
FahrenheitToCelsius = Celsius
End Function
'將攝氏轉換為華氏
Function CelsiusToFahrenheit(celsius As Double) As Double
fahrenheit = celsius * 9 / 5 + 32
CelsiusToFahrenheit = fahrenheit
End Function
它另提供底下一個巨集範例:
Sub Example()
Dim celsius As Double
Dim fahrenheit As Double
celsius = 25 '設置攝氏溫度為25度'
fahrenheit = CelsiusToFahrenheit(celsius) '轉換攝氏溫度為華氏溫度'
MsgBox "攝氏 " & celsius & " 度等於華氏 " & fahrenheit & " 度。"
End Sub chatGPT AI 不會給你完美程式,
但可以給你一個構架或範例,縮減寫程式的時間。
chatGPT AI 不用5分鐘就可以給你一段程式
自己還要花1~2小時DEBUG一些問題
要修到合意又要花1~2天時間。
但絕對對初學VBA者是一位好老師
查詢非常便利。 對初學者而言, GPT寫出來了也是一臉茫然,
EXCEL因資料或表格結構不同, 須因地制宜做不同的判斷~~
對有基礎者言, 除非遇到難解的運算邏輯, 一般的資料整理統計, 還是可以勝任!
VBA也是有"增/刪/改"的需求, 自己寫的知道關鍵所在, 改起來較就手,
尤其各程序之間有互相串聯時, GPT應無法就實際幫上忙!!!
程式除了節省人工外, 產生正確結果是重中之重,
所以, 還是老實從基礎學起吧!!!
除了GOOGLE類似案例參考外,
VBE內建說明檔也是很好用的學習材料(我初學時, 就很多時候用這個)
在"瀏覽物件"介面輸入關鍵字, 就可以找到很多相關的用法及範例,
當然, 若想學到更高坎的, 那找專業老師較實在~~
以一般使用者而言, 學會陣列及字典, 應可處理60%以上的資料了~~
頁:
[1]