Categories: VBA

VBAでセルに入力する│文字・数値・数式(計算式)を入力する方法

この記事では、VBAを使ってセルに文字数値数式(計算式)入力する方法を実際のVBAコードも含めて説明します。

セルへの入力は、Excel操作の最も基本的な動作であり、これからVBAを学習する方にとっても有意義なコードになると思います。もしかすると初めてVBAコードを書くにあたって、この記事を訪れたのかもしれませんね。

文字数値数式(計算式)、それぞれをセルに入力するためのVBAコードを紹介しますので、ご参考になれば幸いです。

VBA│文字を入力する

この章では、ExcelのセルA1に「VBAを覚えよう!」という文字列を入力するVBAコードを紹介します。

基本構文

object . Value = “Variant”

  • object = 入力対象のセル位置
    この例では、A1です
  • Value = 文字入力の定型文
    (Valueは値を代入するプロパティです)
  • Variant = 入力する文字列
    この例では、VBAを覚えよう! です

Variant について、文字列を指定する場合には、必ず ” 文字列 “ のようにダブルクォーテーションで囲む必要があります。これは理屈ではなくルールとして覚えてください。
なお、 object .Value = Variant のうち、 Value省略可能です。( Value が入力されたものとしてみなされる)

Rangeプロパティ

Sub Sample()

Range(“A1”).Value = “VBAを覚えよう!”


End Sub

Cellsプロパティ

Sub Sample()

Cells(1, 1).Value = “VBAを覚えよう!”

End Sub

VBA│数値を入力する

この章では、ExcelのセルA1に 1 という数値を入力するVBAコードを紹介します。

基本構文

object . Value = Variant

  • object = 入力対象のセル位置
    この例では、A1です
  • Value = 文字入力の定型文
    (Valueは値を代入するプロパティです)
  • Variant = 入力する文字列
    この例では、 1 です

Variant および Value についての補足は「文字を入力する」と同様です。

Rangeプロパティ

Sub Sample()

Range(“A1”) .Value = 1

End Sub

Cellsプロパティ

Sub Sample()

Cells(1, 1) .Value = 1

End Sub

VBA│数式(計算式)を入力する

この章では、ExcelのセルA3に =SUM(A1:A2) という数式を入力するVBAコードを紹介します。

基本構文

object . Value = “Obiform”

  • object = 入力対象のセル位置
    この例では、A3です
  • Value = 文字入力の定型文
    (Valueは値を代入するプロパティです)
  • Obiform= 入力する数式
    この例では、 =SUM(A1:A2) です

Variant および Value についての補足は当記事1章「文字を入力する」と同様です。

Rangeプロパティ

Sub Sample()

Range(“A3”) .Value = “=SUM(A1:A2)”


End Sub

Cellsプロパティ

Sub Sample()

Cells(1, 3) .Value = “=SUM(A1:A2)”

End Sub

応用編:最終行を変数で指定する

数式 SUM に変数を含める

前節までは、数式の最後のセルであるA2をVBAコード内で、直接、指定していましたが、VBA最終行を取得するコードと組み合わせて、計算式の最後をデータの最終行、そして計算式を入力するセルを最終行の次の行、というように実用的なコードを記述してみましょう。

Sub Sample()

Dim LastRow As Long
LastRow = Range(“A1”).End(xlDown).Row

Range(“A” & LastRow + 1).Value = “=SUM(A1:A” & LastRow & “)”

End Sub

数式を生成する前に、まず、対象の列からデータの最終行を取得し変数 LastRow に代入しています。次に、変数 LastRow と文字「A」を組み合わせて数式の最後のセルを指定しています。(この例では、A2となります)
そして、数式を入力するセルは最終行の次の行(この例では、A3)となります。

Webs

元事務処理担当者として、プログラミングを活用した業務改善を推進している。プログラマ出身ではない事務職の現場目線で情報を発信。 その他、webs-studio.jpをメインに、複数のブログサイトを立ち上げており、合計で月間10万PVのメディア運営を行っている。 姉妹サイト一覧