例文を使って繰り返し業務を時短

【マクロ・VBA】数値のみ取り出す

エクセル、マクロ、VBAで数値のみ取り出す方法 VBA

数値のみ取り出す(セル)

Sub 数値のみ取り出す()

ActiveSheet.Cells(2, 2).Value = Val(ActiveSheet.Cells(2, 2).Value)

End Sub

Val関数とは

このコードでは、最初に処理を行うワークシートと処理範囲を指定します。上記の例では、A列のすべてのセルに対して処理を行います。

次に、ループを使用して指定された範囲内の各セルに対して処理を実行します。For Each ステートメントは、rng範囲内のすべてのセルに対して、cellという変数に代入します。

ループ内で、IsNumeric関数を使用してセルの値が数値であるかどうかを確認します。Val関数を使用して、数値を抽出し、Offsetメソッドを使用して、抽出した数値を隣接するセルに転記します。

最後に、処理が完了したことを示すメッセージボックスが表示されます。

数値のみ取り出す(ループ)

Sub ExtractNumbers()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim extractedNum As Variant
    Dim i As Long
    
    '処理を行うワークシートと対象範囲の指定
    Set ws = ActiveSheet
    Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
    
    'ループを使用して各セルに対して処理を実行
    For Each cell In rng
        'セルの値が数値であるかどうかを確認
        If IsNumeric(cell.Value) Then
            '数値を抽出
            extractedNum = Val(cell.Value)
            '抽出した数値を隣接するセルに転記
            cell.Offset(0, 1).Value = extractedNum
        End If
    Next cell
    
    '完了メッセージを表示
    MsgBox "数値の抽出が完了しました。", vbInformation, "完了"
End Sub

このコードでは、最初に処理を行うワークシートと処理範囲を指定します。上記の例では、A列のすべてのセルに対して処理を行います。

次に、ループを使用して指定された範囲内の各セルに対して処理を実行します。For Each ステートメントは、rng範囲内のすべてのセルに対して、cellという変数に代入します。

ループ内で、IsNumeric関数を使用してセルの値が数値であるかどうかを確認します。Val関数を使用して、数値を抽出し、Offsetメソッドを使用して、抽出した数値を隣接するセルに転記します。

最後に、処理が完了したことを示すメッセージボックスが表示されます。

コメント

タイトルとURLをコピーしました