【VBA】数式エラー(#N/A等)を高速に転記する方法
日々の業務で、大量のデータの中から特定の数式エラー(#N/A等)を見つけるのは大変な作業です。この記事では、VBAを使って高速にこれらのエラーを一括処理し、効率的な業務遂行をサポートします。
サンプルコード
VBA
Option Explicit
Sub TransferErrors()
' シートオブジェクトの定義
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
' 最終行の取得
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' ループカウンタ
Dim i As Long
' Excelの画面更新を停止
Application.ScreenUpdating = False
' 各行のエラー値を取得し、転記先セルにコピー
For i = 1 To lastRow
If IsError(ws.Cells(i, 1).Value) Then
ws.Cells(i, 2).Value = ws.Cells(i, 1).Value
End If
Next i
' Excelの画面更新を再開
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。