とにかくマクロの記録で。 Excel のバージョンごとにプログラムが違ったりするので、差異を見つけるのにも便利です。
]]>タグ: VBA
[VBScript][VBA] セルの入力項目にエラーがあるかどうかをチェックする
メモです。
通常セルに入力されている値を取得する場合は
<なんちゃら>.Cells(row, col).Value
で取得できますが、セルの入力項目にエラーがある場合、上記のプログラムでアクセスするとエラーになってしまいます。
セルの内容がエラーであるかどうかは以下のようにして事前にチェックすることができます。
Set objExcel = CreateObject("Excel.Application")
Set objSheet = <なんちゃら>
If objExcel.WorksheetFunction.IsError(objSheet.Cells(row, col)) Then
' エラーがあった場合の処理
Else
' エラーがなかった場合の処理
End If
]]>
Excel の「Worksheets」と「Sheets」の違い
通常 Excel VBA でワークシートを使っている限りは両方に大きな違いはないのですが、Excel のシートには「ワークシート」と「グラフシート」が存在するため(Excel 97 以降)、グラフシートを追加すると両者のシートの取得数が異なります。簡単に表にまとめると
Worksheets | 「ワークシート」のみを扱う |
Charts | 「グラフシート」のみを扱う |
Sheets | すべてのシートを扱う |
になっています。
ですので Worksheets と Sheets の違いを意識せずに使っている方は注意しましょう。
]]>