麻辣家族討論版版's Archiver

ML089 發表於 2023-2-28 09:56

使用 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

Andy2483 發表於 2023-3-2 12:08

[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]


    前輩好久不見,謝謝前輩分享指導
這科技很厲害,會顛覆很多事情

rcyw 發表於 2023-3-4 01:30

OpenAI....這個要用電話認証, 似乎中國/香港的電話都註冊不到....:(

ML089 發表於 2023-3-5 09:19

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120612&ptid=23911]3#[/url] [i]rcyw[/i] [/b]
我用 Chrome 開啟 chatGPT,,直接用 google 帳號 直接註冊,就可以使用。

checkout88 發表於 2023-3-11 15:54

很好用, 我最新寫VBA都問他. 很強. 但有時候因為版本的不同, 會鬼打牆

jeffrey628litw 發表於 2023-3-12 07:31

[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]

Joforn 發表於 2023-3-13 23:55

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120612&ptid=23911]3#[/url] [i]rcyw[/i] [/b]
呃,我在大陆都注册了,不过我问它的问题,它返回的代码几乎没有一个能用的。

ML089 發表於 2023-3-14 14:28

[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好用太多了。

ML089 發表於 2023-3-14 14:33

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=120680&ptid=23911]7#[/url] [i]Joforn[/i] [/b]

你應該問的問題太難了或太複雜了,考倒了chatGPT
適用一般初學問題一些指令、小範例啊,真的幫助滿大的。

jeffrey628litw 發表於 2023-3-26 21:59

[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]

jackyq 發表於 2023-4-29 20:53

跟他玩了一個月
發現這傢伙寫程式非常不靠譜
錯誤百出
有些錯誤到底如何改正 , 它自己也不知道
我舉個例  
實際上 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 自己根本也不知道正確答案

jackyq 發表於 2023-4-29 20:55

[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]

確實太不靠譜了

Quake 發表於 2023-4-30 21:17

底下是我測試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

ML089 發表於 2023-5-1 19:07

chatGPT AI 不會給你完美程式,
但可以給你一個構架或範例,縮減寫程式的時間。
chatGPT AI 不用5分鐘就可以給你一段程式
自己還要花1~2小時DEBUG一些問題
要修到合意又要花1~2天時間。

但絕對對初學VBA者是一位好老師
查詢非常便利。

准提部林 發表於 2023-5-2 12:38

對初學者而言, GPT寫出來了也是一臉茫然,
EXCEL因資料或表格結構不同, 須因地制宜做不同的判斷~~

對有基礎者言, 除非遇到難解的運算邏輯, 一般的資料整理統計, 還是可以勝任!

VBA也是有"增/刪/改"的需求, 自己寫的知道關鍵所在, 改起來較就手,
尤其各程序之間有互相串聯時, GPT應無法就實際幫上忙!!!

程式除了節省人工外, 產生正確結果是重中之重,
所以, 還是老實從基礎學起吧!!!

除了GOOGLE類似案例參考外,
VBE內建說明檔也是很好用的學習材料(我初學時, 就很多時候用這個)
在"瀏覽物件"介面輸入關鍵字, 就可以找到很多相關的用法及範例,
當然, 若想學到更高坎的, 那找專業老師較實在~~

以一般使用者而言, 學會陣列及字典, 應可處理60%以上的資料了~~

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供