- Home »
- Excel講座の総目次 »
- Excel VBA入門:目次 »
- ワークシート関数を利用する
スポンサードリンク
(追記) (追記ここまで)
(追記) (追記ここまで)
- VBAでセルに数式を入力するにはFormulaプロパティを使います。
- 【例1】C1:C5に数式=SUM(A1:B1)を入力します。
- 【例2】C1の数式をC2へ入れます。
- 【例3】C1に数式を入力し、オートフィルでC5まで数式を入力します。
(追記) (追記ここまで)
- ワークシート関数をVBAで使用するにはWorksheetFunction プロパティを利用します。
- 【例1】C1にSUM関数,C2にAVERAGE関数,C3にCOUNT関数での結果を返します。
- 【例2】MATCH関数を使って調べる。
- (注)このコードは検索値がない時はエラーになり動きません。
対処法は下記のVLOOKUPの例をご覧ください。
Sub rei13_6()
Dim myR
With Worksheets("Sheet1")
myR = Application.WorksheetFunction.Match(.Range("C1"),.Range("A1:A7"), 0)
.Range("D1").Value = myR
.Range("E1").Value = .Range("B" & myR).Value
End With
End Sub
- 実行結果
- 【例3-1】VLOOKUP関数を使って調べる。
- (注)このコードは検索値がない時はエラーになり動きません。
Sub rei13_7()
Dim myR
With Worksheets("Sheet1")
myR = Application.WorksheetFunction.VLookup(.Range("C1"), .Range("A1:B7"), 2, False)
.Range("D1").Value = myR
End With
End Sub
- 実行結果
- 【例3-2】VLOOKUP関数がエラーとなる場合(対処法1)
- エラー処理へ分岐します。
Sub rei13_8()
Dim myR
On Error GoTo ErrorHandler
With Worksheets("Sheet1")
myR = Application.WorksheetFunction.VLookup(.Range("C1"),
.Range("A1:B7"), 2, False)
.Range("D1").Value = myR
End With
Exit Sub
ErrorHandler:
Worksheets("Sheet1").Range("D1").Value = "該当無し"
End Sub
- 実行結果
- 【例3-3】VLOOKUP関数がエラーとなる場合(対処法2)
- Application.Vlookup(・・・) とすると、検索値がないときはエラー値が返されます。
上記のApplication.WorksheetFunction.VLookup(・・・・)ではその部分でエラーとなり、処理が止まります。
Sub rei13_9()
Dim myR
With Worksheets("Sheet1")
myR = Application.VLookup(.Range("C1"), .Range("A1:B7"), 2, False)
If IsError(myR) Then myR = "該当無し"
.Range("D1").Value = myR
End With
End Sub
スポンサードリンク
(追記) (追記ここまで)
(追記) (追記ここまで)
よねさんのWordとExcelの小部屋|
Excel(エクセル)講座の総目次|
Excel(エクセル) VBA入門:目次|ワークシート関数を利用する
PageViewCounter
Counter
Since2006/2/27