Excel VBA アクティブセルにデータを入力する

ExcelVBA-基礎編

アクティブセルにデータを入力する方法をご説明します。

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

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

アクティブセルへの入力方法

アクティブなセルを取得するには、ActiveCellを使用します。

ActiveCell =」と記述します。

文字列

文字列を入力する方法

文字列を入力するには「ActiveCell =””」と入力したい文字を“(ダブルクォーテーション)で囲います。

サンプルコード

B2をアクティブにして「あおうえお」と入力するサンプルコードです。

Sub Sample1()

ActiveCell = "あいうえお"

End Sub

数値

数値を入力する方法

数値を入力するには「ActiveCell =」と入力したい数値をそのまま指定します。

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

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

サンプルコード

B2をアクティブにして「123」と入力するサンプルコードです。

Sub Sample2()

ActiveCell = 123

End Sub

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

上記のコードと同様に、数値として反映されました。

Sub Sample3()

ActiveCell = "123"

End Sub

数値を入力す際の注意点

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

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

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

数値を文字列として入力する方法

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

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

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

ActiveCell.NumberFormatLocal = "G/標準"
ActiveCell.NumberFormatLocal = "yyyy/m/d"
ActiveCell.NumberFormatLocal = "@" '文字列

サンプルコード

事前にセルの表示形式を変更して、アクティブセルへ「0123」と入力します。

ActiveCellだけでなく、RangeやCellsでも指定できます。

Sub Sample4()

ActiveCell.NumberFormatLocal = "@" '文字列
ActiveCell = "0123"

End Sub

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

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