- ð¿ã¯ããã«
- ð¿1ïŒArray颿°ãšSplit颿°ãæ··åãã
- ð¿2ïŒèŠåã¡ãã»ãŒãžãé衚瀺ã«ããDisplayAlerts
- ð¿3ïŒCurrentRegionãšDataBodyRangeãæ··åãã
- ð¿4ïŒã»ã«ã®è¡šç€ºåœ¢åŒã¯NumberFormat
- ð¿5ïŒãšã©ãŒæ å ±ãååŸããã®ã¯Errãªããžã§ã¯ã
- ð¿6ïŒå€æ°ã®ããŒã¿åã確èªããTypeName颿°
- ð¿7ïŒMsgBoxã®ãã¿ã³ãšã¢ã€ã³ã³ã¯å¥ç©
- ð¿8ïŒFont.Underlineã§äžç·ãèšå®ãã
- ð¿9ïŒF8ã§1è¡ãã€å®è¡ãããã¹ãããã€ã³ã
- ð¿ä»åã®ééããæ¯ãè¿ã£ãŠ
- ð¿ãŸãšã
ð¿ã¯ããã«
çŸåšãExcel VBA Standardã®åæ Œã«åããŠãæš¡æ¬åé¡ã䜿ã£ãŠåŠç¿ããŠããŸãã
åé¡ãè§£ããŠãããšã
ãèŠãããšã¯ãããã©ååãåºãŠããªãã
ãäŒŒãæ©èœãšæ··åããŠããŸãã
ãæå³ã¯åãã£ãŠããã®ã«ãããããã£åãæ£ç¢ºã«èŠããŠããªãã
ãšããåé¡ãçµæ§ãããŸãã
ä»åã¯ã仿¥ã®å顿Œç¿ã§ééãã9åãæ¯ãè¿ããªãããæ£è§£ã ãã§ã¯ãªãããªãééããã®ããäœãšæ··åããã®ããŸã§æŽçããŠã¿ãŸãã
ð¿1ïŒArray颿°ãšSplit颿°ãæ··åãã
åé¡
Dim numbers() As Variant
numbers = __(10, 20, 30, 40, 50)
For i = LBound(numbers) To UBound(numbers)
Debug.Print "èŠçŽ " & i & ": " & numbers(i)
Next i
æ£è§£ã¯ã
Array
ã§ããã
åã¯ããã§ã
Split
ãšåçããŠããŸããŸããã
ArrayãšSplitã®éã
Arrayã¯ãæå®ããè€æ°ã®å€ããé
åãäœã颿°ã§ãã
numbers = Array(10, 20, 30, 40, 50)
äžæ¹ãSplitã¯ãæååãç¹å®ã®åºåãæåã§åå²ããŠé
åãè¿ã颿°ã§ãã
fruits = Split("ããã,ããã,ã¶ã©ã", ",")
ã€ãŸãã
å€ãçŽæ¥äžŠã¹ãŠé åå â Array
æååãåºåãæåã§åå²ããŠé åå â Split
ãšããéãã§ãã
ä»åã®åé¡ã§ã¯ã10ã20ã30ãšãã£ãå€ãçŽæ¥äžŠã¹ãŠãããããArrayã䜿ããŸãã
ãªããArray颿°ã¯é
åãå«ãVariantãè¿ããŸãã
ãã®ãããèªåã§ã³ãŒããæžãå Žåã¯ã次ã®ããã«Variantåã®å€æ°ã§åãåã圢ãåãããããã§ãã
Dim numbers As Variant
numbers = Array(10, 20, 30, 40, 50)
ð¿2ïŒèŠåã¡ãã»ãŒãžãé衚瀺ã«ããDisplayAlerts
Excelã§ã¯ãã·ãŒããåé€ãããšããªã©ã«ç¢ºèªã¡ãã»ãŒãžã衚瀺ãããŸãã
ãã®èŠåã¡ãã»ãŒãžã®è¡šç€ºã»é衚瀺ãå¶åŸ¡ããã®ãã
Application.DisplayAlerts
ã§ãã
äŸãã°ã
Application.DisplayAlerts = False
ãšãããšã察象ãšãªãèŠåã確èªãã€ã¢ãã°ã衚瀺ããã«åŠçãé²ããããšãã§ããŸãã
åŠççµäºåŸã¯ã
Application.DisplayAlerts = True
ã«æ»ããŠãããŸãã
ä»ååã¯DescriptionãšåçããŠããŸããŸããã
Descriptionãšããåèªã«ã説æããšããæå³ããããããã¡ãã»ãŒãžé¢ä¿ã®æ©èœãšæ··åããŠããŸã£ãã®ã ãšæããŸãã
ããããDisplayAlertsã¯ãã®ååã®ãšããã
- Display â 衚瀺
- Alerts â èŠå
ãšèãããšèŠãããããã§ãã
èŠåã衚瀺ãããã©ãã â DisplayAlerts
ãšèŠããããšã«ããŸãã
ð¿3ïŒCurrentRegionãšDataBodyRangeãæ··åãã
åé¡
Set dataRange = ws.Range("A1").__
æ£è§£ã¯ã
CurrentRegion
ã§ãã
CurrentRegionã¯ãæå®ããã»ã«ãå«ãé£ç¶ããããŒã¿ç¯å²å
šäœãååŸããããããã£ã§ãã
äŸãã°ã
Set dataRange = ws.Range("A1").CurrentRegion
ãšãããšãA1ãå«ãã空çœè¡ã空çœåã§å²ãŸããé£ç¶é åãååŸã§ããŸãã
ä»ååãåçããã®ã¯ã
DataBodyRange
ã§ããã
ããã¯ããªãéèŠãªéãã§ããã
DataBodyRangeã¯ãExcelããŒãã«ïŒListObjectïŒã®èŠåºãè¡ãé€ããããŒã¿éšåãååŸãããšãã«äœ¿ããŸãã
äžæ¹ã
Range("A1").CurrentRegion
ã¯ãã»ã«ãèµ·ç¹ãšããŠé£ç¶ããããŒã¿ç¯å²ãååŸããŸãã
ã€ãŸãã
ã»ã«ãèµ·ç¹ã«é£ç¶ç¯å²ãååŸ â CurrentRegion
ExcelããŒãã«ã®ããŒã¿éšåãååŸ â DataBodyRange
ãšããéãã§ãã
ð¿4ïŒã»ã«ã®è¡šç€ºåœ¢åŒã¯NumberFormat
åé¡
.Range("A1").Value = 1234.567
.Range("A1").__ = "$#,##0.00"
æ£è§£ã¯ã
NumberFormat
ã§ããã
åã¯FormatãšåçããŸããã
æå³ãšããŠã¯ããªãè¿ãã£ãã®ã§ãããExcel VBAã§ã»ã«ã®è¡šç€ºåœ¢åŒãèšå®ããããããã£åã¯ã
NumberFormat
ã§ãã
äŸãã°ã
Range("A1").NumberFormat = "#,##0"
ãªãæ¡åºåãã®æŽæ°è¡šç€ºã
Range("A1").NumberFormat = "0%"
ãªãããŒã»ã³ã衚瀺ã
Range("A1").NumberFormat = "yyyy/mm/dd"
ãªãæ¥ä»è¡šç€ºã«ãªããŸãã
ä»åã®ã
$#,##0.00
ãªãã1234.567ãšããå€ã¯ã
$1,234.57
ã®ããã«è¡šç€ºãããŸãã
ã»ã«ã®æ°å€ã®èŠãæ¹ã倿Žãã â NumberFormat
ãšèŠããŠããããã§ãã
ð¿5ïŒãšã©ãŒæ å ±ãååŸããã®ã¯Errãªããžã§ã¯ã
åé¡
On Error GoTo ErrorHandler
result = 10 / 0
Exit Sub
ErrorHandler:
MsgBox "ãšã©ãŒçªå·: " & __ & vbCrLf & _
"ãšã©ãŒã¡ãã»ãŒãž: " & __
æ£è§£ã¯ã
Err.Number
Err.Description
ã§ãã
åã¯ã
Error.Number
Error.Description
ãšåçããŠããŸããŸããã
VBAã§å®è¡æãšã©ãŒã®æ å ±ãååŸãããšãã«äœ¿ãã®ã¯ã
Err
ãšãããªããžã§ã¯ãã§ãã
Err.Number
ã§ãšã©ãŒçªå·ã
Err.Description
ã§ãšã©ãŒå 容ãååŸã§ããŸãã
ããã¯è±åèªãšããŠèããããã
VBAã®ãšã©ãŒãªããžã§ã¯ãåã¯ãErrorãã§ã¯ãªããErrã
ãšããã®ãŸãŸèŠããæ¹ãããããã§ãã
ð¿6ïŒå€æ°ã®ããŒã¿åã確èªããTypeName颿°
倿°ã®åãªã©ã®æ å ±ãæååãšããŠç¢ºèªã§ããã®ãã
TypeName
颿°ã§ãã
äŸãã°ã
Dim num As Integer
Dim text As String
Debug.Print TypeName(num)
Debug.Print TypeName(text)
ãšãããšã
Integer
String
ã®ããã«è¡šç€ºãããŸãã
é åã«ã€ããŠãã
arr = Split("ããã,ããã,ãã¹ã«ãã", ",")
Debug.Print TypeName(arr)
ã®ããã«ç¢ºèªã§ããŸãã
TypeNameã¯ã
TypeïŒåïŒã®NameïŒååïŒã確èªãã
ãšèŠãããšåããããããã§ãã
ð¿7ïŒMsgBoxã®ãã¿ã³ãšã¢ã€ã³ã³ã¯å¥ç©
åé¡
userResponse = MsgBox("åŠçãå®äºããŸããã", __, "éç¥")
If userResponse = vbOK Then
MsgBox "OKãæŒãããŸããã", __
End If
æ£è§£ã¯ã
vbOKOnly
vbInformation
ã§ããã
åã¯äž¡æ¹ãšãã
vbOKOnly
ãšåçããŸããã
ããã§ã¯ãMsgBoxã®ç¬¬2åŒæ°ã«ããã¿ã³ã®çš®é¡ã ãã§ã¯ãªããã¢ã€ã³ã³ã®çš®é¡ãªã©ãæå®ã§ããããšããã€ã³ãã§ããã
vbOKOnlyã¯ãOKãã¿ã³ã®ã¿ã衚瀺ããæå®ã§ãã
vbInformationã¯ãæ
å ±ã¢ã€ã³ã³ã衚瀺ããæå®ã§ãã
ä»ã«ãã
vbYesNo
vbQuestion
vbExclamation
vbCritical
ãªã©ããããŸãã
ä»åã®åé¡ããã
MsgBoxã®ç¬¬2åŒæ°ïŒãã¿ã³ã ããæå®ããå Žæã§ã¯ãªã
ãšããããšãèŠããŠããããã§ãã
ð¿8ïŒFont.Underlineã§äžç·ãèšå®ãã
ã»ã«ã®æåã«äžç·ãèšå®ããå Žåã¯ã
Range("A1:A3").Font.Underline
ã䜿ããŸãã
äŸãã°ã
With ws.Range("A1:A3").Font
.Underline = xlUnderlineStyleSingle
End With
ãšãããšãã»ã«å ã®æåã«äžéäžç·ãèšå®ã§ããŸãã
ããã¯æ¯èŒçãã®ãŸãŸã§ã
Fontã®Underlineããããã£
ãšèŠããŠããã°ããããã§ãã
ð¿9ïŒF8ã§1è¡ãã€å®è¡ãããã¹ãããã€ã³ã
VBAã«ã¯ãã³ãŒãã1è¡ãã€å®è¡ããªããåäœã確èªãããããã°æ©èœããããŸãã
ãããã
ã¹ãããã€ã³
ã§ãã
VBEäžã§F8ããŒãæŒãããšã§å®è¡ã§ããŸãã
åã¯ãã¹ãããã€ã³å®è¡ããšåçããŸããã
æå³ãšããŠã¯éããŸãããä»åã®åé¡ã§æ±ããããŠããèªå¥ã¯ã
ã¹ãããã€ã³
ã§ããã
æå³ãçè§£ããã ãã§ã¯ãªããããããçšèªãæ£ç¢ºã«èŠããŠãããããšæããŸãã
ð¿ä»åã®ééããæ¯ãè¿ã£ãŠ
ä»åééããåé¡ãæ¯ãè¿ããšããŸã£ããçè§£ããŠããªãåé¡ã°ããã§ã¯ãããŸããã§ããã
ãããã
- ArrayãšSplit
- CurrentRegionãšDataBodyRange
- FormatãšNumberFormat
- ErrorãšErr
- vbOKOnlyãšvbInformation
ã®ããã«ãäŒŒãæ©èœãååãæ··åããŠããåé¡ãå€ãã£ãã§ãã
ããã¯éã«èãããšãVBAãã®ãã®ãå šãåãã£ãŠããªããšããããã
ãç¥èãæ£ç¢ºãªVBAã®æ§æã»ããããã£åãšçµã³ã€ããæ®µéã
ã«å ¥ã£ãŠããã®ããªãšæããŸãã
ç¹ã«Excel VBA Standardã®å匷ã§ã¯ã
ãããããããšãã§ããã
ãšããçè§£ã ãã§ã¯ãªãã
ããããå®çŸããããããã£ã»ã¡ãœããã»é¢æ°ã®ååã¯äœãã
ãŸã§èŠããŠããå¿ èŠãããããã§ãã
ä»åã®9åã¯ã次ã®ããã«æŽçããŠèŠããããšã«ããŸããã
| ããããããš | VBA |
|---|---|
| å€ã䞊ã¹ãŠé åãäœã | Array |
| èŠåã¡ãã»ãŒãžã®è¡šç€ºãå¶åŸ¡ãã | DisplayAlerts |
| ã»ã«ãå«ãé£ç¶ç¯å²ãååŸãã | CurrentRegion |
| ã»ã«ã®è¡šç€ºåœ¢åŒã倿Žãã | NumberFormat |
| ãšã©ãŒçªå·ãååŸãã | Err.Number |
| ãšã©ãŒå 容ãååŸãã | Err.Description |
| ããŒã¿åãªã©ã確èªãã | TypeName |
| æ å ±ã¢ã€ã³ã³ã衚瀺ãã | vbInformation |
| äžç·ãèšå®ãã | Font.Underline |
| F8ã§1è¡ãã€å®è¡ãã | ã¹ãããã€ã³ |
ð¿ãŸãšã
æš¡æ¬åé¡ãè§£ããŠãããšãäžæ£è§£ãèŠããã³ã«ããŸã èŠããããŠããªãããšæããŠããŸããŸãã
ã§ããä»åã®ããã«ééããåé¡ã ããæŽçããŠã¿ããšãèªåãã©ãã§æ··åããŠããã®ããããªãåããããããªããŸããã
æ£è§£ããåé¡ãäœåºŠãèŠãã ãã§ã¯ãªãã
ééããåé¡ãããèªåå°çšã®ææã«ãªãã
ããèãããšãééããããšèªäœãåŠç¿ã®äžéšãªã®ãããããŸããã
ãããããæš¡æ¬åé¡ãè§£ãã ãã§çµãããããããªãééããã®ãããŸã§æ¯ãè¿ããªãããå°ããã€çè§£ãæ·±ããŠããããšæããŸãã
Excel VBA Standardåæ Œã«åããŠãåŒãç¶ãåãçµãã§ãããŸãã
æ Tech Life ð¿
