ã¯ããã«ïŒæ©èœãå¢ãããâçã¥ãâãå¿ èŠã«ãªã
å¯åºé·æä»£ãVBAã®åŠçãäœããããŠããã¯ã**ã©ãã«äœããããåãããªããã¹ãã²ããã£ã³ãŒãå°çã**ã«é¥ããŸãããæäœæ¥ã¯æžã£ãã®ã«ãã¡ã³ãã倧å€âŠããããæã£ãŠãããã®ããã¢ãžã¥ãŒã«ã®åå²ãããå ±éåŠçã®ããã·ãŒãžã£åãããããŠãã€ãã³ãããªã¬ãŒã«ããèªåå®è¡ãã§ããã
ä»åã¯ãåŠçã®æŽçè¡ãšãèªåèµ·åã®ä»çµã¿ã«ã€ããŠãã£ãã解説ããŸãïŒ
ð§© ã¢ãžã¥ãŒã«ã®åœ¹å²ãšäœ¿ãåã
æšæºã¢ãžã¥ãŒã«ãšã·ãŒãã¢ãžã¥ãŒã«ã®éã
ã¢ãžã¥ãŒã«ã¿ã€ã | çšé | ç¹åŸŽ |
---|---|---|
æšæºã¢ãžã¥ãŒã« | éåžžã®åŠç | ä»ã®ã·ãŒãã»ãã©ãŒã ãããåŒã³åºãã |
ã·ãŒãã¢ãžã¥ãŒã« | ç¹å®ã·ãŒãã®åäœã«é¢é£ | ã€ãã³ãåŠçã«åŒ·ãïŒChangeãªã©ïŒ |
ã¢ãžã¥ãŒã«ã®è¿œå æ¹æ³
- VBEäžéšã¡ãã¥ãŒ âãæ¿å ¥ãâãæšæºã¢ãžã¥ãŒã«ã
-
Module1
ãªã©ã®ååãã€ããã¢ãžã¥ãŒã«ã远å ããã
åå倿Žã§æå³ãæç¢ºã«
Module_Invoice
Module_StaffExport
â åŠçåäœã§ã¢ãžã¥ãŒã«ãåããååã§æ©èœã飿³ã§ããããã«
å°è©±ïŒã¢ãžã¥ãŒã«åã§å šäœåãâèŠããâããã«
æ¥åæ¡å€§ã«äŒŽã£ãŠã³ãŒãéãå¢ãããè«æ±åŠçãã倿 åŠçããåšåº«é¢é£ããªã©åéå¥ã«ã¢ãžã¥ãŒã«åå²ãããã«ãããåŠçãè¿·åã«ãªãããèŠã€ãããããžãã¯ã«ããã¢ã¯ã»ã¹ã§ããããã«ãªããŸããã
ðŠ ããã·ãŒãžã£ïŒåŠçã®ãããŸãïŒã®æŽçè¡
Subããã·ãŒãžã£ïŒã¢ã¯ã·ã§ã³ããŸãšãã
Sub ExportCSV()
' CSVåºååŠçãããã«èšè¿°
End Sub
Functionããã·ãŒãžã£ïŒçµæãè¿ãåŠç
Function GetTotal(price As Double, count As Integer) As Double
GetTotal = price * count
End Function
â ãèšç®ã ãããããå€ãè¿ããæ©èœã¯Functionã䟿å©ïŒ
ããã·ãŒãžã£ã®åŒã³åºãæ¹
Call ExportCSV ' Callã¯çç¥å¯
Dim total As Double
total = GetTotal(1980, 3)
â ä»ã®åŠçããèªç±ã«åŒã³åºããåå©çšå¯èœãªæ§æã«
å®åã§å¹æãçºæ®ããäŸ
以åãã¹ã¿ããããšã«å¥åŠçãçšæããŠãã垳祚åºåããå ±éããã·ãŒãžã£ã«çµ±åããã©ã¡ãŒã¿ãæž¡ããŠåºå察象ãåãæ¿ããããã«ããããšã§ãã³ãŒãéã1/3ã«ãªããã¡ã³ããä¿®æ£ãçéåããŸããã
ð å ±éåŠçã»åå²åã®ã³ã
Tips
- åŠçããšã«ããã·ãŒãžã£ãåå²
- ã«ãŒãã»æ¡ä»¶åå²ã¯ãªãã¹ã1ãæã«ãŸãšãã
- åœåèŠåãçµ±äžããïŒäŸïŒExport_â¯â¯, Format_â¯â¯ïŒ
â¡ ã€ãã³ãããã·ãŒãžã£ã§ãè§Šã£ããåããVBAãž
Worksheet_Changeã®åºæ¬
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
MsgBox "A1ã倿ŽãããŸãã"
End If
End Sub
â A1ã»ã«ã«äœãå ¥åããããšãèªåã§ã¡ãã»ãŒãžè¡šç€º
ä»ã«ã䜿ããã€ãã³ã
ã€ãã³ãå | 説æ |
---|---|
Worksheet_SelectionChange | ã»ã«éžææã«åŠç |
Workbook_Open | ãã¡ã€ã«ãéããç¬éã«åŠç |
Worksheet_BeforeDoubleClick | ããã«ã¯ãªãã¯ã§åŠçå®è¡ |
泚æç¹
- ã€ãã³ãã¯ã·ãŒãã¢ãžã¥ãŒã«ã«æžã
-
Private Sub
ã§å§ãŸãïŒå€ããã¯åŒã³åºããªãïŒ - æå³ããªãåäœãé¿ãããããæ¡ä»¶åå²ã¯æ éã«
å°è©±ïŒãã§ãã¯ãªã¹ãã«äœ¿ã£ãã€ãã³ãåŠç
åºèã®æž æãã§ãã¯ãªã¹ãã§ãAåã«ãå®äºããšå ¥åãããšé£ã«èªåã§ã¿ã€ã ã¹ã¿ã³ããä»ããããWorksheet_Changeãå°å ¥ãã¹ã¿ããã®èšé²ããªã¢ã«ã¿ã€ã ã§åæ ããã確èªã»å ±åäœæ¥ãæ Œæ®µã«ã¹ã ãŒãºã«ãªããŸããã
âš ãŸãšãïŒæžãâ䜿ãâæŽããâèªåã§åã
VBAãæ±ãã®ã¯ãã³ãŒãã®åãã ãã§ã¯ãªãããæŽçãšéçšã®æè¡ãã§ãã
- ã¢ãžã¥ãŒã«åå²ã§åŠçãè¿·åã«ãªããªãæ§é ãž
- ããã·ãŒãžã£ã§å ±éåããä¿å®æ§ã»åå©çšæ§ãã¢ãã
- ã€ãã³ãã§â人ãè§Šã£ãç¬éã«åãâã³ãŒããæ§ç¯
ãã®ã¹ããããèžãããšã§ãVBAã¯å°èŠæš¡åŠçããæ¬æ Œçãªæ¥åã·ã¹ãã ãžãšé²åããŸãã
次åäºåïŒãã¡ã€ã«æäœã®èªååïŒããã¹ãã»CSVã»ããã¯åŠçã®åºæ¬ãšå¿çš
第11åã§ã¯ãVBAã«ãããã¡ã€ã«ã®èªã¿æžããèªåä¿åããã©ã«ãæäœã®ãã¯ããã¯ã玹ä»ã
åºèããšã®ããŒã¿éèšãå ±åæžã®äžæ¬åŠçã«å€§æŽ»èºã®ã¹ãã«ã§ãïŒ