Excel VBA セルに数値を入力する

ExcelVBA-基礎編

セルに数値を入力する方法を説明します。

また、セルに入力する時の注意点も併せてご説明します。

その他のセルの操作方法については下記の記事をご覧ください。

数値を入力する方法

記述方法

数値を入力するには「Cells(行数,列数) =123」と、入力したい数値をそのまま指定します。

文字列と違い“(ダブルクォーテーション)で囲う必要はありません。

ただし、“(ダブルクォーテーション)で囲っても、書式設定が標準や数値などの場合は数値と判断されて反映されます。

サンプルコード

次のコードはA1とB2にそれぞれRangeとCellsで数値を入力するコードです。

Sub Sample1()

Range("A1") = 123
Cells(1, 2) = 456

End Sub

次のコードは“(ダブルクォーテーション)で囲ったコードです。

Sub Sample2()

Range("A1") = "123"
Cells(1, 2) = "456"

End Sub

同じ結果となります。

数値を計算する

計算する方法

数値は計算することもできます。

VBAでExcel関数を使ったり、数式を入力したり、演算を直接行う方法があります。

簡単なサンプルを紹介します。

サンプルコード

上から順に直接計算する、数式を入力する、エクセルのSum関数で上2つでセルに入力された結果を計算させてます。

Sub Sample3()

Cells(1, 1) = 100 + 100 '直接計算した結果を入力する
Cells(1, 2) = "=100 + 200" '数式を入力して計算結果を表示させる
Cells(1, 3) = Application.WorksheetFunction.Sum(Range(Cells(1, 1), Cells(1, 2))) '関数SUMを使って計算

End Sub

B1には数式が反映され、結果がセルに表示されています。

数値を入力の注意

数値を入力する際の注注意事項

数値を入力する場合、注意しなければいけないのが、“(ダブルクォーテーション)で囲った数字であっても、表示形式の設定によって文字列として扱われないという事です。

もし「0123」と“(ダブルクォーテーション)で囲って、文字列として入力したとしても「123」と自動的に数値として変換されます。

このように意図しない結果になりますので注意が必要です。

数値を文字列として入力するためには、事前にセルの表示形式を文字列に変更してから入力します。

セル.NumberFormatLocal=表示形式」で記述します。

サンプルコード

下の様に記述する事ができて、文字列の場合は「”@”」を指定します。

Sub Sample4()

Cells(1, 1).NumberFormatLocal = "@" '文字列
Cells(1, 1) = "0123"

End Sub

このように文字列として「0123」として出力できました。

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