Excel VBAã«ãããAI掻çšã«ããã³ãŒãçæã®å®è£ ãã¯ããã¯
ç§ã¯VBAã®æŽ»çšçµéšãéããŠåŸãç¥èãæŽçããå ±æããç®çã§èšäºãäœæããŠããããã°ã©ãã³ã°æŽ2幎ã«ãªããšã³ãžãã¢ã§ããååã¯ãã·ãŒã衚瀺å¶åŸ¡ã®å®è£ ãã¯ããã¯ã«ã€ããŠè©³ãã説æããŸãããä»åã¯è¶£åãå€ããŠãAIã«VBAã³ãŒããäœæããŠãããéã®ããã³ããæŽ»çšãã¯ããã¯ã«ã€ããŠè§£èª¬ããŸãã
- 第1å: Excel VBAã®åºç€ç¥èãšã»ãã¥ãªãã£èšå®
- 第2å: Excel VBAã®åºæ¬æäœãšãªããžã§ã¯ãã®çè§£
- 第3å: Excel VBAã«ããã倿°ãšå®æ°ã®åºæ¬
- 第4å: Excel VBAã«ãããã·ãŒãæäœã®åºæ¬ãšãšã©ãŒåŠç
- 第5å: Excel VBAã«ãããæ¡ä»¶åå²
- 第6å: Excel VBAã«ãããç¹°ãè¿ãåŠçã®åºæ¬
- 第7å: Excel VBAã«ãããé åãšFor Eachã®æŽ»çš
- 第8å: Excel VBAã«ãããFormulaãšValueã®äœ¿ãåããšãŠãŒã¶ãŒå ¥åã®ååŸ
- 第9å: Excel VBAã«ããããã¡ã€ã«æäœãšãã©ã«ã管çã®åºæ¬
- 第10å: Excel VBAã«ãããFileSystemObjectãæŽ»çšããé«åºŠãªãã¡ã€ã«æäœ
- 第11å: Excel VBAã«ãããFileSystemObjectãæŽ»çšããé«åºŠãªãã¡ã€ã«æäœ å¿çšç·š
- 第12å: Excel VBAã«ãããStrConv颿°ã®æŽ»çšãšå¿çšãã¯ããã¯
- 第13å: Excel VBAã«ãããã¯ãŒã¯ããã¯ã®å®å šãªæäœãšç®¡çãã¯ããã¯
- 第14å: Excel VBAã«ãããFunctionïŒé¢æ°ïŒã®äœæãšæŽ»çšãã¯ããã¯
- 第15å: Excel VBAã«ãããé åãè¿ã颿°ã®äœæãšæŽ»çšãã¯ããã¯
- 第16å: Excel VBAã«ãããã³ã¬ã¯ã·ã§ã³ã®æŽ»çšãšå¿çšãã¯ããã¯
- 第17å: Excel VBAã«ãããèŸæžåïŒDictionaryïŒã®æŽ»çšãšå¿çšãã¯ããã¯
- 第18å: Excel VBAã«ãããEnumåãæŽ»çšãã颿°èšèšãšå®è£ ãã¯ããã¯
- 第19å: Excel VBAã«ããããŠãŒãã£ãªãã£é¢æ°ã®äœæãšæŽ»çšãã¯ããã¯
- 第20å: Excel VBAã«ãããæ£èŠè¡šçŸã掻çšãããã¡ã€ã«åè§£æãã¯ããã¯
- 第21å: Excel VBAã§ç¯å²å ã®å³åœ¢ãå¹ççã«åé€ãããã¯ããã¯
- 第22å: Excel VBAã§ææ°ãã¡ã€ã«ãå¹ççã«æ€çŽ¢ãã颿°èšèšãã¯ããã¯
- 第23å: Excel VBAã§éžæããç¯å²ã«å¯ŸããŠãäžè¡ããã«ç©ºè¡ãæ¿å ¥ãããã¯ããã¯
- 第24å: Excel VBAã§å¯èŠã»ã«ã掻çšãããã£ã«ã¿ãŒæäœãã¯ããã¯
- 第25å: Excel VBAã§å¯èŠã»ã«ã®ã¿ãå¹ççã«ã³ããŒãããã¯ããã¯
- 第26å: Excel VBAã«ããããã¡ã€ã«ã»ãã©ã«ãç§»åã®ååž°åŠçãã¯ããã¯
- 第27å: Excel VBAã«ããã芪ãã©ã«ããã¹ååŸã®å®è£ ãã¯ããã¯
- 第28å: Excel VBAã«ãããç¬èªã€ãã³ãã®èšèšãšå®è£ ãã¯ããã¯
- 第29å: Excel VBAã«ãããEnumåãæŽ»çšããã¡ã³ããã³ã¹æ§åäžãã¯ããã¯
- 第30å: Excel VBAã«ãããåçªå·ããã¢ã«ãã¡ããã倿ã®å¹ççå®è£ ãã¯ããã¯
- 第31å: Excel VBAã«ãããéè€ã®ãªãã·ãŒãåçæã®å¹ççå®è£ ãã¯ããã¯
- 第32å: Excel VBAã«ãããã»ã«åç §åœ¢åŒã®åãæ¿ããã¯ããã¯
- 第33å: Excel VBAã«ãããã·ãŒã衚瀺å¶åŸ¡ã®å®è£ ãã¯ããã¯
- 第34å: Excel VBAã«ãããAI掻çšã«ããã³ãŒãçæã®å®è£ ãã¯ããã¯ïŒæ¬èšäºïŒ
- 第35å: Excel VBAãã¯ãã®ã¢ãã€ã³åã«ããããã¯å ±æãã¯ããã¯
- 第36å: Excel VBAã«ãããç®æ¬¡èªåçæã®å®è£ ãã¯ããã¯
- 第37å: Excel VBAã«ãããWindowsã¯ãªããããŒãå±¥æŽãžã®ã»ã«å€é£ç¶ã³ããŒå®è£ ãã¯ããã¯
- 第38å: Excel VBAã§è€æ°å察å¿ã®ãã£ã«ã¿å¯èŠã»ã«ååŸé¢æ°ãå®è£ ãããã¯ããã¯
- 第39å: Excel VBAã§å¯å€åŒæ°ã掻çšããæååé£çµé¢æ°ãå®è£ ãããã¯ããã¯
- 第40å: Excel VBAã«ãããRangeãªããžã§ã¯ãã®åºç€ããå®è·µçãªæŽ»çšãã¯ããã¯ãŸã§
ç®æ¬¡
- ã¯ããã«
- AI掻çšã«ãããããã³ããã®éèŠæ§
- VBAã³ãŒãçæããã³ããã®å šäœæ§æ
- ããã³ããã®åã»ã¯ã·ã§ã³è©³çŽ°è§£èª¬
- å®éã®æŽ»çšäŸãšãã¹ããã©ã¯ãã£ã¹
- ä»åŸã®å±æãšçºå±æ§
- æ¬ããã³ããã®å šæ
- ãŸãšã
ã¯ããã«
Excel VBAã§ã¢ããªã±ãŒã·ã§ã³ãéçºããŠãããšãè€éãªã³ãŒããæžãéã«ã³ãŒãã£ã³ã°èŠçŽã®çµ±äžãä¿å®æ§ã®ç¢ºä¿ã«æ©ãããšããããŸããç¹ã«ãããŒã éçºãé·æéçšãåæã®ãããžã§ã¯ãã§ã¯ãäžè²«æ§ã®ããé«å質ãªã³ãŒããæžãç¶ããããšã¯ç°¡åã§ã¯ãããŸããã
è¿å¹ŽãAIæè¡ã®é²åã«ãããChatGPTãClaudeãGeminiãªã©ã®çæAIãæŽ»çšããŠã³ãŒããäœæããããšãäžè¬çã«ãªã£ãŠããŸãããããããAIã«åçŽã«ããã®ã³ãŒããæ¹åããŠããšäŸé ŒããŠããæåŸ éãã®çµæãåŸãããªãããšãå€ãã®ãçŸå®ã§ãã
ä»åã¯ãAIã«å¯ŸããŠæç¢ºãªæç€ºãäžããããšã§ãå®åã¬ãã«ã®é«å質ãªVBAã³ãŒããçæãããããã®å°çšããã³ããã«ã€ããŠè©³ãã解説ããŸãããã®ããã³ãããæŽ»çšããããšã§ãAIãçæããã³ãŒãã®å質ãå€§å¹ ã«åäžãããå®éã®æ¥åã§é·æéçšã§ããã³ãŒããå¹ççã«äœæã§ããããã«ãªããŸãã
AI掻çšã«ãããããã³ããã®éèŠæ§
AIã³ãŒãçæã«ãããäžè¬çãªåé¡ç¹
AIã«VBAã³ãŒãã®äœæãäŸé Œããéãå€ãã®éçºè ãçŽé¢ããåé¡ããããŸãã
ãããã倱æãã¿ãŒã³
- åœåèŠåããã©ãã©ã§çµ±äžæããªã
- ãšã©ãŒåŠçãäžååãŸãã¯äžçµ±äž
- ã³ã¡ã³ããäžè¶³ããŠããããŸãã¯æ¥æ¬èªãšè±èªãæ··åš
- ã°ããŒãã«å€æ°ãä¹±çšãããŠãã
- ããã©ãŒãã³ã¹ãèæ ®ããŠããªãå®è£ ã«ãªã£ãŠãã
åé¡ã®æ¬è³ª
AIã¯æç€ºããªãå Žåãäžè¬çãªã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãæ¡çšããŸãããããããããå¿
ãããä¿å®æ§ã»åå©çšæ§ã»ããã©ãŒãã³ã¹ãéèŠããå®åã¬ãã«ã®ã³ãŒããšã¯éããŸããã
æç¢ºãªããã³ããã«ãã解決
ãã®åé¡ã解決ããããã«ãè©³çŽ°ãªæç€ºãå«ãå°çšããã³ãããæŽ»çšããŸãã
ããã³ããã䜿ãããšã§å®çŸã§ããããš
- çµ±äžãããåœåèŠåïŒPascalCaseãcamelCaseã宿°ã®å€§æåãªã©ïŒ
- äžè²«ãããšã©ãŒåŠçïŒå ±é颿°ã®å©çšïŒ
- é©åãªã³ã¡ã³ãïŒæ©èœèª¬æãåŒæ°ã»æ»å€ã®æèšïŒ
- ã¢ãžã¥ãŒã«æ§æã®çµ±äžïŒmodMainãmodUtilsãªã©ïŒ
- ããã©ãŒãã³ã¹æé©åïŒToggleAppStateãé ååŠçãªã©ïŒ
ããã³ãããšã³ãžãã¢ãªã³ã°ãšã¯
AIã«å¯ŸããŠé©åãªæç€ºãäžããæåŸ ããåºåãåŸãããã®æè¡ããããã³ãããšã³ãžãã¢ãªã³ã°ããšåŒã³ãŸããVBAã³ãŒãçæã«ãããŠãããã®ããã³ãããšã³ãžãã¢ãªã³ã°ã®èãæ¹ãéåžžã«éèŠã«ãªããŸãã
VBAã³ãŒãçæããã³ããã®å šäœæ§æ
ããã³ããã®åºæ¬æ§é
ãã®ããã³ããã¯ãAIã«å¯ŸããŠVBAã³ãŒãã®ãã©ãã·ã¥ã¢ãããäŸé Œããéã®å®å šãªä»æ§æžãšããŠæ©èœããŸãã
ããã³ããã®å šäœæ§æ
| ã»ã¯ã·ã§ã³ | å 容 | ç®ç |
|---|---|---|
| ç®ç | ããã³ããå šäœã®æ¹é | AIã®åœ¹å²ãæç¢ºå |
| åºæ¬åå | DRYãåäžè²¬ä»»ãªã© | èšèšææ³ãæç€º |
| åœåèŠå | PascalCaseãcamelCaseãªã© | ã³ãŒãã®çµ±äžæ§ |
| ã¢ãžã¥ãŒã«æ§æäŸ | modMainãmodUtilsã®å®è£ äŸ | å ·äœçãªå®è£ ã€ã¡ãŒãž |
| ãšã©ãŒåŠç | çµ±äžçãªãšã©ãŒåŠçæ¹æ³ | ä¿å®æ§ã®åäž |
| ããã©ãŒãã³ã¹æé©å | ToggleAppStateãé ååŠçãªã© | å®è¡éåºŠã®æ¹å |
| èšèšã«ãŒã« | 宿°åãçŠæ¢äºé ãªã© | ã³ãŒãå質ã®ç¢ºä¿ |
| ã³ã¡ã³ãèŠå | ããã·ãŒãžã£åé ã³ã¡ã³ããªã© | å¯èªæ§ã®åäž |
| æçµãã§ãã¯ãªã¹ã | 確èªãã¹ãé ç®äžèЧ | å質ä¿èšŒ |
ããã³ããã®æŽ»çšæ¹æ³
åºæ¬çãªäœ¿ãæ¹
- ãã®ããã³ããå šäœãAIïŒChatGPTãClaudeãGeminiãªã©ïŒã«ã³ããŒïŒããŒã¹ã
- ç¶ããŠãæ¹åãããVBAã³ãŒãã貌ãä»ãã
- AIãèªåçã«é«å質ãªã³ãŒãã«å€æ
ããã³ããã®ç¹åŸŽ
- è©³çŽ°ãªæç€º: AIãè¿·ããªããããå ·äœäŸãè±å¯ã«å«ã
- 段éçãªæ§æ: ç®çâååâå®è£ äŸã®é ã§çè§£ãããã
- å®è·µçãªå 容: å®åã§å¿ èŠãªèŠçŽ ãç¶²çŸ
ããã³ããã®åéã«ã€ããŠ
ãã®ããã³ããã¯éåžžã«è©³çްã§é·æã§ããããããAIã«å¯ŸããŠæç¢ºãªæç€ºãäžããããã«ã¯ããã®çšåºŠã®è©³çްããå¿ èŠã§ããäžåºŠããã³ãããä¿åããŠããã°ãç¹°ãè¿ãå©çšã§ãããããæè³å¯Ÿå¹æã¯éåžžã«é«ããšèšããŸãã
ããã³ããã®åã»ã¯ã·ã§ã³è©³çŽ°è§£èª¬
ç®çãšåœ¹å²ã®å®çŸ©
ããã³ããã®åé ã§ã¯ãAIã«å¯ŸããŠæç¢ºãªåœ¹å²ãäžããŸãã
## ç®ç
æç€ºãããVBAã³ãŒããã**ä¿å®æ§ã»åå©çšæ§ã»ããã©ãŒãã³ã¹ã»å¯èªæ§**ãæå€§åãããããã©ãã·ã¥ã¢ããããŠãã ããã
## ããªãã®åœ¹å²
20幎以äžã®ãã£ãªã¢ãæã€VBAããã°ã©ããŒãšããŠãå®åã§é·æéçšã§ããé«å質ãªã³ãŒããäœæããŠãã ããã
ãã®ã»ã¯ã·ã§ã³ã®éèŠæ§
- ããšãã¹ããŒãããšããŠã®åœ¹å²ãèšå®
- åãªãã³ãŒã倿ã§ã¯ãªããå質ãæå€§åãããšããæç¢ºãªç®æšãèšå®
- ä¿å®æ§ã»åå©çšæ§ã»ããã©ãŒãã³ã¹ã»å¯èªæ§ãšãã4ã€ã®è©äŸ¡è»žãæç€º
åºæ¬ååã®æç€º
ã³ãŒãèšèšã«ãããåºæ¬çãªèãæ¹ãæç€ºããŸãã
## ð åºæ¬åå
- **DRYåå**: éè€ãæé€ãå
±éå
- **åäžè²¬ä»»**: 1ããã·ãŒãžã£ = 1æ©èœ
- **é¢å¿ã®åé¢**: ããŒã¿åŠçã»UIã»I/Oãæç¢ºã«åãã
- **æ©æãªã¿ãŒã³**: ç°åžžç³»ãå
ã«åŠçããã¹ããæžãã
- **Option Explicit** å¿
é
- **Callæ§æ** ã§åŠçã®æµããæç€º
åååã®æå³
- DRYååïŒDon't Repeat YourselfïŒ: åãã³ãŒããäœåºŠãæžããã颿°åããŠåå©çš
- åäžè²¬ä»»: 1ã€ã®ããã·ãŒãžã£ã¯1ã€ã®åœ¹å²ã®ã¿ãæã€
- é¢å¿ã®åé¢: ããŒã¿ååŸãå å·¥ã衚瀺ãå¥ã ã®ããã·ãŒãžã£ã«åãã
- æ©æãªã¿ãŒã³: ãšã©ãŒãã§ãã¯ãå ã«è¡ããæ£åžžç³»ã®ãã¹ããæµ ããã
åœåèŠåã®çµ±äž
ã³ãŒãã®å¯èªæ§ã倧ããå·Šå³ããåœåèŠåãè©³çŽ°ã«æå®ããŸãã
## ð·ïž åœåèŠå
| 察象 | èŠå | äŸ |
|------|------|------|
| ã¢ãžã¥ãŒã« | PascalCase + æ¥é èŸ | `modMain`, `modUtils` |
| ã¯ã©ã¹ | PascalCase + æ¥é èŸ | `clsTask`, `clsLogger` |
| ããã·ãŒãžã£ | PascalCaseïŒåè©å§ãŸãïŒ | `GetData`, `UpdateSheet` |
| 倿° | camelCase | `rowCount`, `ws`, `rng` |
| 宿° | 倧æå+ã¢ã³ããŒã㌠| `MAX_ROW`, `COL_NAME` |
| Enum | `E_` + æ¥æ¬èª | `E_åŠçç¶æ
`, `E_ææ¥` |
| Type | `T_` + PascalCase | `T_UserInfo`, `T_TaskItem` |
åœåèŠåã®å¹æ
- ã³ãŒããèŠãã ãã§ãããã倿°ãªã®ã宿°ãªã®ãå€å¥ã§ãã
- ã¢ãžã¥ãŒã«ã®åœ¹å²ãæ¥é èŸããçè§£ã§ãã
- ãããžã§ã¯ãå šäœã§çµ±äžæãçãŸãã
ã¢ãžã¥ãŒã«æ§æã®å®è£ äŸ
å ·äœçãªã³ãŒãäŸã瀺ãããšã§ãAIã«æç¢ºãªã€ã¡ãŒãžãäžããŸãã
modMainïŒã¡ã€ã³åŠçïŒã®äŸ
Option Explicit
'==============================================================================
' 宿°å®çŸ©
'==============================================================================
Private Const SHEET_DATA As String = "ããŒã¿"
Private Const MAX_ROW As Long = 10000
'==============================================================================
' ã¡ã€ã³åŠç
'==============================================================================
Sub Main()
On Error GoTo ErrHandler
Call modUtils.ToggleAppState(False)
Call Initialize
Call ProcessData
Call Finalize
Call modUtils.ToggleAppState(True)
Exit Sub
ErrHandler:
Call modUtils.ToggleAppState(True)
Call modUtils.HandleError("Main", Err.Number, Err.Description)
End Sub
modUtilsïŒå ±é颿°ïŒã®äŸ
Sub ToggleAppState(ByVal enable As Boolean)
With Application
.ScreenUpdating = enable
.EnableEvents = enable
.Calculation = IIf(enable, xlCalculationAutomatic, xlCalculationManual)
End With
End Sub
Sub HandleError(ByVal procName As String, ByVal errNum As Long, ByVal errMsg As String)
Dim msg As String
msg = "ããšã©ãŒçºçã" & vbCrLf & _
"ããã·ãŒãžã£: " & procName & vbCrLf & _
"ãšã©ãŒçªå·: " & errNum & vbCrLf & _
"å
容: " & errMsg
Debug.Print "[" & Format(Now, "yyyy/mm/dd hh:nn:ss") & "] " & msg
MsgBox msg, vbCritical, "ãšã©ãŒ"
End Sub
å®è£ äŸãå«ããçç±
- AIã«å¯ŸããŠããã®ãããªåœ¢åŒã§æžããŠã»ããããšããå ·äœçãªã€ã¡ãŒãžãäŒãã
- æœè±¡çãªèª¬æã ãã§ãªããå®éã®ã³ãŒããèŠããããšã§çè§£ãæ·±ãŸã
- å ±é颿°ã®å®è£ ãã¿ãŒã³ã瀺ãããšã§ãAIãåæ§ã®æ§é ãçæãããããªã
ãšã©ãŒåŠçã®çµ±äž
ãã¹ãŠã®ããã·ãŒãžã£ã§çµ±äžçãªãšã©ãŒåŠçãè¡ãããæç€ºããŸãã
Sub SampleProc()
On Error GoTo ErrHandler
' ã¡ã€ã³åŠç
Exit Sub
ErrHandler:
Call modUtils.HandleError("SampleProc", Err.Number, Err.Description)
End Sub
çµ±äžãšã©ãŒåŠçã®å©ç¹
- ãšã©ãŒãçºçããéãåžžã«åã圢åŒã§ãã°åºåã»ã¡ãã»ãŒãžè¡šç€º
- ãããã°ã容æã«ãªã
- ãšã©ãŒåŠçã®æŒããé²ã
ããã©ãŒãã³ã¹æé©åã®æç€º
å®è¡é床ãåäžãããããã®ãã¯ããã¯ãæç€ºããŸãã
Applicationèšå®ã®å¶åŸ¡
Call modUtils.ToggleAppState(False)
' åŠçïŒç»é¢æŽæ°ãªãã»ã€ãã³ãç¡å¹ã»èšç®æåïŒ
Call modUtils.ToggleAppState(True)
ã»ã«ã¢ã¯ã»ã¹ã®æå°å
Dim dataArr As Variant
dataArr = ws.Range("A1:C100").Value
' é
åã§åŠçïŒé«éïŒ
ws.Range("A1:C100").Value = dataArr
ããã©ãŒãã³ã¹æé©åã®å¹æ
- ç»é¢æŽæ°ã忢ããããšã§ãåŠçéåºŠãæ°åïœæ°ååã«åäž
- é åã䜿ã£ãäžæ¬åŠçã«ãããã»ã«ã¢ã¯ã»ã¹ã®åæ°ãåæž
- 倧éããŒã¿ãæ±ãå Žåã«ç¹ã«å¹æç
èšèšã«ãŒã«ãšçŠæ¢äºé
ã³ãŒãå質ã確ä¿ããããã®å ·äœçãªã«ãŒã«ãæç€ºããŸãã
宿°åã®åŸ¹åº
Private Const SHEET_DATA As String = "ããŒã¿"
Private Const COL_NAME As Long = 1
Private Const OUTPUT_PATH As String = "C:\Output\"
çŠæ¢äºé
-
As Variantã®ä¹±çš - åæªæå®ã®åŒæ°ãæ»ãå€
èšèšã«ãŒã«ã®éèŠæ§
- ããžãã¯ãã³ããŒïŒããŒãã³ãŒãã£ã³ã°ãããæ°å€ãæååïŒãæé€
- åŸããå€ã倿Žããéã宿°ãä¿®æ£ããã ãã§å šäœã«åæ ããã
ã³ã¡ã³ãèŠåã®è©³çްå
å¯èªæ§ãé«ããããã®ã³ã¡ã³ãèšè¿°ã«ãŒã«ãæç€ºããŸãã
ããã·ãŒãžã£åé ã³ã¡ã³ã
'==============================================================================
' ãæ©èœãããŒã¿ã·ãŒãããæ¡ä»¶ã«åèŽããè¡ãæœåº
' ãåŒæ°ãwsSource: å
ããŒã¿ã·ãŒã, filterValue: æœåºæ¡ä»¶
' ãæ»å€ããªã
'==============================================================================
Sub ExtractData(ByVal wsSource As Worksheet, ByVal filterValue As String)
ã³ã¡ã³ãã®æžãæ¹
- ããªãããã®åŠçãè¡ããã説æ
- èªç¶ã§åãããããæ¥æ¬èªã䜿çš
' ããŒã¿ã空ã®å Žåã¯åŠçãã¹ãããïŒãšã©ãŒé²æ¢ã®ããïŒ
If lastRow < 2 Then Exit Sub
' é
åã§äžæ¬èªã¿èŸŒã¿ïŒé«éåã®ããïŒ
Dim dataArr As Variant
dataArr = ws.Range("A2:C" & lastRow).Value
é©åãªã³ã¡ã³ãã®å¹æ
- æ°ã¶æåŸã«èªåãã³ãŒããèŠè¿ããŠãçè§£ã§ãã
- ããŒã ã¡ã³ããŒãã³ãŒããçè§£ãããããªã
- ã¡ã³ããã³ã¹æ§ãå€§å¹ ã«åäž
æçµãã§ãã¯ãªã¹ãã®æŽ»çš
AIãçæããã³ãŒããèŠä»¶ãæºãããŠããã確èªããããã®é ç®ã§ãã
## â
æçµãã§ãã¯ãªã¹ã
* [ ] `Option Explicit` ããã
* [ ] åãæç€ºããŠãã
* [ ] 宿°åïŒããžãã¯ãã³ããŒæé€ïŒ
* [ ] çµ±äžãšã©ãŒåŠçïŒ`modUtils.HandleError`ïŒ
* [ ] ããã·ãŒãžã£åé ã«ã³ã¡ã³ã
* [ ] `Call` æ§æã䜿çš
* [ ] å
±é颿°ã¯ `modUtils` ã«é
眮
* [ ] ããã©ãŒãã³ã¹æé©åïŒ`ToggleAppState`ïŒ
* [ ] å€éšäŸåã³ã¡ã³ããæç€º
ãã§ãã¯ãªã¹ãã®åœ¹å²
- AIãçæããã³ãŒãã®å質ãä¿èšŒ
- 人éãæçµç¢ºèªããéã®ææšã«ãªã
- ã³ãŒãã¬ãã¥ãŒã®åºæºãšããŠæŽ»çšã§ãã
å®éã®æŽ»çšäŸãšãã¹ããã©ã¯ãã£ã¹
ããã³ããã®äœ¿çšæé
ã¹ããã1: ããã³ããã®æºå
- æäŸãããããã³ããå šäœãããã¹ããšãã£ã¿ã«ã³ããŒ
- å¿ èŠã«å¿ããŠããããžã§ã¯ãåºæã®ã«ãŒã«ïŒäŒç€Ÿã®ã³ãŒãã£ã³ã°èŠçŽãªã©ïŒã远èš
- ä¿åããŠãããç¹°ãè¿ãå©çšã§ããããã«ãã
ã¹ããã2: AIãžã®æç€º
- ChatGPTãClaudeãGeminiãªã©ã®ãã£ããç»é¢ãéã
- ããã³ããå šäœã貌ãä»ã
- æ¹åãããVBAã³ãŒããç¶ããŠè²Œãä»ã
- éä¿¡
ã¹ããã3: çæãããã³ãŒãã®ç¢ºèª
- AIãçæããã³ãŒãã確èª
- æçµãã§ãã¯ãªã¹ãã«åºã¥ããŠåè³ªãæ€èšŒ
- å¿ èŠã«å¿ããŠè¿œå ã®ä¿®æ£ãäŸé Œ
å ·äœçãªæŽ»çšã·ãŒã³
ã·ãŒã³1: æ¢åã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°
é·å¹Žäœ¿ãããŠããå€ãVBAã³ãŒãããçŸä»£çãªèšèšææ³ã«åºã¥ããŠãã©ãã·ã¥ã¢ããããéã«æŽ»çšã§ããŸãã
ã·ãŒã³2: æ°èŠéçºã®ã³ãŒãã¬ãã¥ãŒ
èªåã§æžããã³ãŒããAIã«æããŠãæ¹åç¹ãèŠã€ããŠãããããšãã§ããŸãã
ã·ãŒã³3: ããŒã éçºã®ã³ãŒãã£ã³ã°èŠçŽçµ±äž
ããŒã ã¡ã³ããŒãæžããã³ãŒãããçµ±äžãããã¹ã¿ã€ã«ã«èªå倿ããéã«æŽ»çšã§ããŸãã
ããã³ããã®ã«ã¹ã¿ãã€ãºæ¹æ³
ãã®ããã³ããã¯ããããžã§ã¯ãã®èŠä»¶ã«å¿ããŠã«ã¹ã¿ãã€ãºããããšãã§ããŸãã
ã«ã¹ã¿ãã€ãºã®ãã€ã³ã
- äŒç€Ÿç¬èªã®ã³ãŒãã£ã³ã°èŠçŽã远å
- ç¹å®ã®ã©ã€ãã©ãªã®äœ¿çšæç€ºã远èš
- ãããžã§ã¯ãåºæã®åœåèŠåãåæ
- çŠæ¢äºé ãæšå¥šäºé ã远å
ã«ã¹ã¿ãã€ãºäŸ
## ãããžã§ã¯ãåºæã«ãŒã«
- èšå®ãã¡ã€ã«ã¯JSONãã©ãŒãããã§ä¿å
- ãã°åºåã¯å°çšã®ãã°ãã¡ã€ã«ã«èšé²
AIããŒã«ã®éžæãšç¹æ§
äž»èŠãªAIããŒã«ã®ç¹åŸŽ
| AIããŒã« | ç¹åŸŽ | VBAã³ãŒãçæã®ç²ŸåºŠ |
|---|---|---|
| ChatGPT | æ±çšæ§ãé«ããé·æã®ããã³ããã«åŒ·ã | é«ç²ŸåºŠ |
| Claude | ã³ãŒãã£ã³ã°ã«ç¹åããæ§èœ | éåžžã«é«ç²ŸåºŠ |
| Gemini | Googleã®AIããã«ãã¢ãŒãã«å¯Ÿå¿ | é«ç²ŸåºŠ |
ããŒã«éžæã®ãã€ã³ã
- Claude: ç¹ã«ã³ãŒãçæã«åªããŠãããããVBAã³ãŒãäœæã«æšå¥š
- ChatGPT: æ¥æ¬èªã®ãã¥ã¢ã³ã¹ãçè§£ãããã
- Gemini: 解説åã¯é«ãããã³ãŒãã®å®å®æ§ã«èª²é¡
ãã©ãã«ã·ã¥ãŒãã£ã³ã°
åé¡1: AIãæç€ºéãã«åäœããªã
- ããã³ãããåå²ããŠéä¿¡ããŠã¿ã
- ããå ·äœçãªäŸã远å ãã
- AIã«ãããã³ãããçè§£ããã確èªããŠãã ããããšå°ãã
åé¡2: çæãããã³ãŒããé·ããã
- ãã³ãŒããç°¡æœã«ããŠãã ããããšè¿œå æç€º
- å¿ èŠãªæ©èœã ãã«çµã£ãŠäŸé Œ
åé¡3: ãšã©ãŒãå«ãŸããã³ãŒããçæããã
- ãçæãããã³ãŒãã«ãšã©ãŒããªãã確èªããŠãã ããããšäŸé Œ
- å ·äœçãªãšã©ãŒå 容ãäŒããŠä¿®æ£ãäŸé Œ
AIã¯å®ç§ã§ã¯ãªã
AIãçæããã³ãŒãã¯éåžžã«é«å質ã§ãããå®ç§ã§ã¯ãããŸãããå¿ ã人éãã¬ãã¥ãŒãããããžã§ã¯ãã®èŠä»¶ã«åèŽããŠããããè«ççãªãšã©ãŒããªããã確èªããããšãéèŠã§ããAIã¯ãããŸã§éçºãæ¯æŽããããŒã«ã§ãããæçµçãªè²¬ä»»ã¯éçºè ã«ããããšãå¿ããªãã§ãã ããã
ä»åŸã®å±æãšçºå±æ§
AIãšVBAéçºã®æªæ¥
AIæè¡ã¯æ¥ã
é²åããŠãããä»åŸããã«é«ç²ŸåºŠãªã³ãŒãçæãå¯èœã«ãªããšäºæ³ãããŸãããã®ããã³ããããAIã®é²åã«åãããŠç¶ç¶çã«æ¹åããŠããããšã§ããã匷åãªéçºæ¯æŽããŒã«ãšããŠæŽ»çšã§ããã§ãããã
åŠç¿å¹æã®æåŸ
ãã®ããã³ãããç¹°ãè¿ã䜿çšããããšã§ãããã³ããã«å«ãŸããèšèšååããã¹ããã©ã¯ãã£ã¹ãèªç¶ãšèº«ã«ã€ããéçºè
èªèº«ã®ã¹ãã«åäžã«ãç¹ãããŸããAIãçæããã³ãŒããèªã¿è§£ãããšã§ãããªããã®ãããªå®è£
ã«ãªã£ãŠããã®ãããçè§£ããVBA ããã°ã©ãã³ã°ã®æ·±ãç¥èãç¿åŸã§ããŸãã
å®åã§ã®æŽ»çšã«ãããæ³šæç¹
ããã³ããã®ç®¡çæ¹æ³
- ããã³ãããããŒãžã§ã³ç®¡çã·ã¹ãã ïŒGit ãªã©ïŒã§ç®¡ç
- ããŒã ã¡ã³ããŒéã§å ±æããçµ±äžãããã³ãŒãå質ã確ä¿
- 宿çã«ããã³ãããã¬ãã¥ãŒããæ¹åç¹ãåæ
ã»ãã¥ãªãã£ãžã®é æ ®
- æ©å¯æ å ±ãå«ãã³ãŒããAI ã«éä¿¡ããéã¯ãäºåã«æ å ±ãåé€ãŸãã¯çœ®ãæãã
- äŒç€Ÿã®ã»ãã¥ãªãã£ããªã·ãŒã確èªããAI ããŒã«ã®äœ¿çšãèš±å¯ãããŠããã確èª
- çæãããã³ãŒãã«å€éšäŸåã©ã€ãã©ãªãå«ãŸããå Žåãã©ã€ã»ã³ã¹ã確èª
ã³ã¹ããšãªã¿ãŒã³ã®ãã©ã³ã¹
- AI ããŒã«ã®å©çšæéãšã³ãŒãå質åäžã®ã¡ãªãããæ¯èŒ
- ç¡æãã©ã³ã§ãååãªå質ãåŸãããå Žåãå€ã
- å€§èŠæš¡ãããžã§ã¯ãã§ã¯ææãã©ã³ã®æ€èšã䟡å€ããã
æ¬ããã³ããã®å šæ
以äžããä»å解説ããVBA ã³ãŒããã©ãã·ã¥ã¢ããçšããã³ããã®å šæã§ãããã®ããã³ãããã³ããŒããŠãAI ããŒã«ã§æŽ»çšããŠãã ããã
# VBAã³ãŒã ãã©ãã·ã¥ã¢ããæç€ºæž
## ç®ç
æç€ºãããVBAã³ãŒããã**ä¿å®æ§ã»åå©çšæ§ã»ããã©ãŒãã³ã¹ã»å¯èªæ§**ãæå€§åãããããã©ãã·ã¥ã¢ããããŠãã ããã
åºåã¯ãã©ãã·ã¥ã¢ããåŸã®**å®å
šãªä¿®æ£çã³ãŒã**ãšããŠæç€ºããããšã
å
ã®æ§é ãæå³ãçè§£ããäžã§ãæ¹åãè¡ãããšã
## ããªãã®åœ¹å²
20幎以äžã®ãã£ãªã¢ãæã€VBAããã°ã©ããŒãšããŠãå®åã§é·æéçšã§ããé«å質ãªã³ãŒããäœæããŠãã ããã
## ð åºæ¬åå
- **DRYåå**: éè€ãæé€ãå
±éå
- **åäžè²¬ä»»**: 1ããã·ãŒãžã£ = 1æ©èœ
- **é¢å¿ã®åé¢**: ããŒã¿åŠçã»UIã»I/Oãæç¢ºã«åãã
- **æ©æãªã¿ãŒã³**: ç°åžžç³»ãå
ã«åŠçããã¹ããæžãã
- **Option Explicit** å¿
é
- **Callæ§æ** ã§åŠçã®æµããæç€º
- **ç¹å¥ãªçç±ããªãéããåç
§èšå®ãè¡ãã³ãŒããåºå**
## ð·ïž åœåèŠå
| 察象 | èŠå | äŸ |
|------|------|------|
| ã¢ãžã¥ãŒã« | PascalCase + æ¥é èŸ | `modMain`, `modUtils` |
| ã¯ã©ã¹ | PascalCase + æ¥é èŸ | `clsTask`, `clsLogger` |
| ããã·ãŒãžã£ | PascalCaseïŒåè©å§ãŸãïŒ | `GetData`, `UpdateSheet` |
| 倿° | camelCase | `rowCount`, `ws`, `rng` |
| 宿° | 倧æå+ã¢ã³ããŒã㌠| `MAX_ROW`, `COL_NAME` |
| Enum | `E_` + æ¥æ¬èª | `E_åŠçç¶æ
`, `E_ææ¥` |
| Type | `T_` + PascalCase | `T_UserInfo`, `T_TaskItem` |
**泚**:
- ã«ãŒãã«ãŠã³ã¿ã¯ `i`, `j` ãªã©ç°¡æœã§OK
- Enum以å€ã§æ¥æ¬èªå€æ°åã¯çŠæ¢
- **Typeã¯æ§é äœãšããŠé¢é£æ
å ±ããŸãšããå Žåã®ã¿äœ¿çšå¯**
## ðïž ã¢ãžã¥ãŒã«æ§æäŸ
### modMainïŒã¡ã€ã³åŠçïŒ
```vb
Option Explicit
'==============================================================================
' 宿°å®çŸ©
'==============================================================================
Private Const SHEET_DATA As String = "ããŒã¿"
Private Const MAX_ROW As Long = 10000
'==============================================================================
' Enum / Typeå®çŸ©
'==============================================================================
Enum E_åŠçç¶æ
æªåŠç = 0
å®äº = 1
ãšã©ãŒ = 9
End Enum
'==============================================================================
' ã¡ã€ã³åŠç
'==============================================================================
Sub Main()
On Error GoTo ErrHandler
Call modUtils.ToggleAppState(False)
Call Initialize
Call ProcessData
Call Finalize
Call modUtils.ToggleAppState(True)
Exit Sub
ErrHandler:
Call modUtils.ToggleAppState(True)
Call modUtils.HandleError("Main", Err.Number, Err.Description)
End Sub
```
### modUtilsïŒå
±é颿°ïŒ
```vb
Option Explicit
'==============================================================================
' Applicationèšå®å¶åŸ¡
'==============================================================================
Sub ToggleAppState(ByVal enable As Boolean)
' True: éåžžç¶æ
, False: åŠçé«éåã¢ãŒã
With Application
.ScreenUpdating = enable
.EnableEvents = enable
.Calculation = IIf(enable, xlCalculationAutomatic, xlCalculationManual)
End With
End Sub
'==============================================================================
' çµ±äžãšã©ãŒåŠç
'==============================================================================
Sub HandleError(ByVal procName As String, ByVal errNum As Long, ByVal errMsg As String)
Dim msg As String
msg = "ããšã©ãŒçºçã" & vbCrLf & _
"ããã·ãŒãžã£: " & procName & vbCrLf & _
"ãšã©ãŒçªå·: " & errNum & vbCrLf & _
"å
容: " & errMsg
Debug.Print "[" & Format(Now, "yyyy/mm/dd hh:nn:ss") & "] " & msg
MsgBox msg, vbCritical, "ãšã©ãŒ"
End Sub
'==============================================================================
' ãã°åºå
'==============================================================================
Sub WriteLog(ByVal msg As String)
Debug.Print "[" & Format(Now, "yyyy/mm/dd hh:nn:ss") & "] " & msg
End Sub
```
## âïž ãšã©ãŒåŠçã®çµ±äž
å
šããã·ãŒãžã£ã§ä»¥äžã®åœ¢åŒã䜿çš
```vb
Sub SampleProc()
On Error GoTo ErrHandler
' ã¡ã€ã³åŠç
Exit Sub
ErrHandler:
Call modUtils.HandleError("SampleProc", Err.Number, Err.Description)
End Sub
```
* `Exit Sub/Function` ãæç€ºããæ£åžžç³»ãšãšã©ãŒåŠçãæç¢ºã«åé¢ããããš
## â¡ ããã©ãŒãã³ã¹æé©å
### Applicationèšå®
ToggleAppState颿°ã䜿ããç»é¢æŽæ°ã»ã€ãã³ãã»åèšç®ããŸãšããŠå¶åŸ¡ããã
Falseã§æé©åã¢ãŒãïŒé«éåïŒãTrueã§éåžžç¶æ
ã«æ»ãã
```vb
Call modUtils.ToggleAppState(False)
' åŠç
Call modUtils.ToggleAppState(True)
```
### ã»ã«ã¢ã¯ã»ã¹æå°å
```vb
Dim dataArr As Variant
dataArr = ws.Range("A1:C100").Value
' åŠç...
ws.Range("A1:C100").Value = dataArr
```
### Withæ§æ
```vb
With ws.Range("A1:C10")
.Font.Bold = True
.Interior.Color = RGB(255, 255, 0)
End With
```
## ð ïž èšèšã«ãŒã«
### 宿°åã®åŸ¹åº
```vb
Private Const SHEET_DATA As String = "ããŒã¿"
Private Const COL_NAME As Long = 1
Private Const OUTPUT_PATH As String = "C:\Output\"
```
### ã°ããŒãã«å€æ°
* ååçŠæ¢
* åŒæ°ã®è¥å€§åãé¿ããå Žåã®ã¿éå®çã«äœ¿çšïŒçç±ãã³ã¡ã³ãã§æç€ºïŒ
```vb
' è€æ°é¢æ°ã§å
±æïŒåŒæ°ã®è¥å€§åãé²ãããïŒ
Private wsTarget As Worksheet
```
### çŠæ¢äºé
* `As Variant` ã®ä¹±çš
* åæªæå®ã®åŒæ°ãæ»ãå€
### å€éšã©ã€ãã©ãª
```vb
' ãå€éšäŸåãMicrosoft Scripting Runtime ã®åç
§èšå®ãå¿
èŠ
Dim dict As New Scripting.Dictionary
```
â»ç¹å¥ãªçç±ïŒExcelåäœåäœãåªå
ããçïŒããªãéããåç
§èšå®ãè¡ãã
`CreateObject`ã«ããé
å»¶ãã€ã³ãã£ã³ã°ã¯ååçŠæ¢ã
## ð ã³ã¡ã³ãèŠå
### ããã·ãŒãžã£åé ã³ã¡ã³ã
```vb
'==============================================================================
' ãæ©èœãããŒã¿ã·ãŒãããæ¡ä»¶ã«åèŽããè¡ãæœåº
' ãåŒæ°ãwsSource: å
ããŒã¿ã·ãŒã, filterValue: æœåºæ¡ä»¶
' ãæ»å€ããªã
'==============================================================================
Sub ExtractData(ByVal wsSource As Worksheet, ByVal filterValue As String)
```
### ã³ã¡ã³ãã®æžãæ¹
* èªç¶ã§åãããããæ¥æ¬èªã䜿çšïŒææ«ã®å¥ç¹äžèŠïŒ
* ããªãããã®åŠçãè¡ããã説æ
* ãã©ã察åŠãããããè£è¶³ïŒç¹ã«äŸå€åŠçã»ããŒã¿è£æ£ç®æïŒ
```vb
' ããŒã¿ã空ã®å Žåã¯åŠçãã¹ãããïŒãšã©ãŒé²æ¢ã®ããïŒ
If lastRow < 2 Then Exit Sub
' é
åã§äžæ¬èªã¿èŸŒã¿ïŒé«éåã®ããïŒ
Dim dataArr As Variant
dataArr = ws.Range("A2:C" & lastRow).Value
```
### ã¬ã€ã¢ãŠã
* ã€ã³ãã³ã㯠**4ã¹ããŒã¹**
* åŠçã®åºåãã«ã¯ç©ºè¡
* è€éãªæ¡ä»¶åŒã¯äžé倿°ã§æå³ãæç¢ºå
## ðŠ åºåæ§æé åº
```vb
Option Explicit
' ãå€éšäŸåãå¿
èŠãªåç
§èšå®
' 宿°å®çŸ©
' Enumå®çŸ©
' Typeå®çŸ©
' ã¢ãžã¥ãŒã«ã¬ãã«å€æ°ïŒæå°éïŒ
' ã¡ã€ã³åŠçïŒCallæ§æäœ¿çšïŒ
' å
éšåŠç
```
å
±é颿°ïŒ`ToggleAppState`, `HandleError`, `WriteLog` ãªã©ïŒã¯ `modUtils` ã«ãŸãšããã
## â
æçµãã§ãã¯ãªã¹ã
* [ ] `Option Explicit` ããã
* [ ] åãæç€ºããŠãã
* [ ] 宿°åïŒããžãã¯ãã³ããŒæé€ïŒ
* [ ] çµ±äžãšã©ãŒåŠçïŒ`modUtils.HandleError`ïŒ
* [ ] ããã·ãŒãžã£åé ã«ã³ã¡ã³ã
* [ ] `Call` æ§æã䜿çš
* [ ] å
±é颿°ã¯ `modUtils` ã«é
眮
* [ ] ããã©ãŒãã³ã¹æé©åïŒ`ToggleAppState`ïŒ
* [ ] å€éšäŸåã³ã¡ã³ããæç€ºïŒäŸ: `'ãå€éšäŸåãMicrosoft Scripting Runtime ã®åç
§èšå®ãå¿
èŠ`ïŒ
以äžã®æç€ºã«åŸããäžèšã®VBAã³ãŒãããã©ãã·ã¥ã¢ããããŠãã ããã
ãã®ããã³ãããAI ããŒã«ã«ã³ããŒïŒããŒã¹ãããç¶ããŠæ¹åãããVBA ã³ãŒãã貌ãä»ããããšã§ãé«å質ãªã³ãŒããèªåçæã§ããŸãã
ãŒãããã®ã³ãŒãçæã«ã察å¿
ãã®ããã³ããã¯ãæ¢åã³ãŒãã®æ¹åã ãã§ãªããèŠä»¶ãäŒããã ãã§1ããã³ãŒããçæããããšãå¯èœã§ããããã³ããã®åé ãšææ«ãå°ãä¿®æ£ããã ãã§ãæ°èŠéçºã«ã掻çšã§ããŸãã
ããã³ããã®ä¿®æ£ç®æ
å ã®ããã³ããã®ãç®çãã»ã¯ã·ã§ã³ãšæåŸã®æç€ºæã以äžã®ããã«å€æŽããŸãã
ä¿®æ£ç®æâ : åé ã®ãç®çãã»ã¯ã·ã§ã³
## ç®ç
以äžã®èŠä»¶ã«åºã¥ããŠã**ä¿å®æ§ã»åå©çšæ§ã»ããã©ãŒãã³ã¹ã»å¯èªæ§**ãæå€§åããVBAã³ãŒããäœæããŠãã ããã
åºåã¯**å®å
šãªåäœå¯èœãªã³ãŒã**ãšããŠæç€ºããããšã
## èŠä»¶
[ããã«å®çŸãããæ©èœãå
·äœçã«èšèŒ]
ä¿®æ£ç®æâ¡: ããã³ããææ«ã®æç€ºæ
以äžã®æç€ºã«åŸããäžèšèŠä»¶ãæºããVBAã³ãŒããäœæããŠãã ããã
ãŒãããçæããå Žåã®äœ¿çšäŸ
-
ããã³ããå šäœãã³ããŒ
- æ¬èšäºã§ç޹ä»ããããã³ãããã³ããŒ
- åé ã®ãç®çãã»ã¯ã·ã§ã³ãä¿®æ£ç®æâ ã®åœ¢åŒã«å€æŽ
- ææ«ã®æç€ºæãä¿®æ£ç®æâ¡ã®åœ¢åŒã«å€æŽ
-
èŠä»¶ãå ·äœçã«èšèŒ
## èŠä»¶ - ã売äžããŒã¿ãã·ãŒããã2025幎10æã®ããŒã¿ã®ã¿ãæœåº - 売äžéé¡ã10äžå以äžã®ã¬ã³ãŒãã«çµã蟌㿠- æœåºçµæããåæçµæãã·ãŒãã®Aåããåºå - åŠçå®è¡åã«ç¢ºèªãã€ã¢ãã°ã衚瀺 - åŠçå®äºåŸã«æœåºä»¶æ°ãå«ãã¡ãã»ãŒãžã衚瀺 -
AIã«éä¿¡
- ä¿®æ£ããããã³ãããAIããŒã«ã«è²Œãä»ã
- AIãèªåçã«èŠä»¶ãæºããã³ãŒããçæ
ãŒãããçæããå Žåã®æ³šæç¹
ãŒãããã³ãŒããçæããå Žåã以äžã®ç¹ã«æ³šæããŠãã ããã
-
èŠä»¶ãå ·äœçã«èšèŒãã
- ææ§ãªè¡šçŸãé¿ããåŠçã®æµããæç¢ºã«æå®
- ã·ãŒãåãååãæ¡ä»¶ãªã©ãå ·äœçã«èšèŒ
- ãã©ã®ããã«åäœããŠã»ããããã詳ãã説æ
-
段éçãªéçºãæšå¥š
- äžåºŠã«è€éãªã³ãŒããçæããããŸãåºæ¬æ©èœããäœæ
- åäœç¢ºèªåŸãè¿œå æ©èœãäŸé ŒããŠæ®µéçã«æ¡åŒµ
- ãã®æ¹æ³ã«ããããšã©ãŒã®åå ãç¹å®ãããããªã
-
çæåŸã®åäœç¢ºèª
- AIãçæããã³ãŒãã¯å¿ ããã¹ãå®è¡
- ãšã©ãŒãçºçããå Žåã¯ããšã©ãŒå 容ãAIã«äŒããŠä¿®æ£ãäŸé Œ
- ããŒã¿ã®æŽåæ§ãæåŸ éãã®åäœã確èª
æ¢åã³ãŒãæ¹åãšãŒãããã®çæã®äœ¿ãåã
| ç¶æ³ | æšå¥šããäœ¿ãæ¹ | ããã³ããä¿®æ£ç®æ |
|---|---|---|
| æ¢åã³ãŒãããã | æ¹åã¢ãŒã | ä¿®æ£äžèŠïŒå ã®ããã³ããã®ãŸãŸïŒ |
| æ°èŠéçº | çæã¢ãŒã | åé ã®ãç®çããšææ«ã®æç€ºæãä¿®æ£ |
| æ©èœè¿œå | çæã¢ãŒã | æ¢åã³ãŒããæ·»ããŠèŠä»¶ã远å |
ãã®ããã«ãããã³ããã®åé ãšææ«ãå°ã倿Žããã ãã§ããªãã¡ã¯ã¿ãªã³ã°ããæ°èŠéçºãŸã§å¹ åºã察å¿ã§ããŸããAIãæŽ»çšããããšã§ãéçºæéãå€§å¹ ã«ççž®ããããé«å質ãªã³ãŒããå¹ççã«äœæã§ããããã«ãªããŸãã
èŠä»¶å®çŸ©ã®éèŠæ§
ãŒãããã³ãŒããçæããå ŽåãèŠä»¶ã®å ·äœæ§ãçæãããã³ãŒãã®å質ã倧ããå·Šå³ããŸããææ§ãªæç€ºã§ã¯ãªãããã©ã®ã·ãŒãããããã©ããªæ¡ä»¶ã§ããã©ãã«åºåãããããæç¢ºã«äŒããããšã§ãAIã¯ãã粟床ã®é«ãã³ãŒããçæã§ããŸãã
ãŸãšã
ä»å解説ããAI掻çšã«ããã³ãŒãçæã®å®è£ ãã¯ããã¯ã¯ããçµ±äžãããã³ãŒãã£ã³ã°èŠçŽãç¶æãããããä¿å®æ§ã®é«ãé«å質ãªã³ãŒããå¹ççã«äœæãããããšãã£ãå®åéçºã«ããã課é¡ãäœç³»çãã€ç¢ºå®ã«è§£æ±ºããå®çšçãªææ³ã§ãã
ãã®ææ³ã®æ žå¿ãšãªãã®ã¯ãè©³çŽ°ãªæç€ºãå«ãå°çšããã³ããã«ããæç¢ºãªä»æ§å®çŸ©ãšãAIã«å¯Ÿãããšãã¹ããŒããšããŠã®åœ¹å²èšå®ã«ããå質å¶åŸ¡ã§ããå®è£ æã«ç¹ã«éèŠãªã®ã¯ãåœåèŠåã»ã¢ãžã¥ãŒã«æ§æã»ãšã©ãŒåŠçã®çµ±äžåãšãããã³ããã®ã«ã¹ã¿ãã€ãºã«ãããããžã§ã¯ãåºæèŠä»¶ãžã®å¯Ÿå¿ã®åŸ¹åºã§ãã
åçŽãªäŸé Œã§ã¯äžè²«æ§ã®ãªãã³ãŒããçæãããŠããŸãåé¡ã«å¯Ÿããåºæ¬ååã»åœåèŠåã»å ·äœçãªå®è£ äŸãå«ãå æ¬çãªããã³ããã§èšèšææ³ãæç¢ºã«äŒããããã«æçµãã§ãã¯ãªã¹ãã«ããå質ä¿èšŒãçµã¿èŸŒãããšã§ãå ç¢ã§å®åã¬ãã«ã®ã³ãŒãçæãå®çŸã§ããŸãã
ãŸããããã³ããã®åé ãšææ«ãä¿®æ£ããããšã§æ¢åã³ãŒãã®æ¹åã ãã§ãªããŒãããã®ã³ãŒãçæã«ã察å¿ã§ããDRYååã»åäžè²¬ä»»ã»ããã©ãŒãã³ã¹æé©åãšãã£ãèšèšååãèªç¶ãšåŠç¿ã§ããããšã§ãä»ã®ãããžã§ã¯ãã§ã容æã«æŽ»çšã§ããæ±çšçãªéçºæ¯æŽããŒã«ãšããŠçºå±ãããããšãå¯èœã§ãã
次åã¯ãäœæãããã¯ããã¢ãã€ã³åããŠå šããã¯ã§äœ¿çšå¯èœã«ããå®è£ ãã¯ããã¯ã«ã€ããŠè§£èª¬ããŠãããŸãïŒãã²ãæåŸ ãã ããïŒ