1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【VBA入門】formulaで数式を操作する方法

【VBA入門】
Pocket

VBAで数式を扱う方法についてご説明します。
セルに”=”で始まる文字列を入力すると数式と見なされますが、数式はFormulaプロパティで操作することができます。
それでは、具体的な手順について確認していきましょう。

セルに数式を入力
<コード>

<実行例>

最初に数式を入力したいセルを指定し、Formulaプロパティに数式を入力しています。
また、数式はダブルクォートで囲んで指定するようにしましょう。

プロパティを省略して入力した場合
ところで、前述のコードは下記のように記述しても正常に動作します。

<省略したコード>

Rangeオブジェクトのプロパティを省略した場合、デフォルトでValueプロパティが指定されます。
しかし、先に述べたように『=』で始まる文字列は数式と見なされるので自動的にFormulaプロパティが設定されるのです。
ちなみに、Valueプロパティには数式の計算結果が格納されています。それでは、これらのプロパティについて確認してみましょう。

<コード>

<実行例>

セルの数式をコピー

数式をコピーしたい場合はオートフィルなどを使用するのも便利ですが、データが大量にある場合などは
VBAで一気にコピーしてしまう方法が手間なく確実です。そして、数式の参照元は自動的に調整された状態でコピーされます。
<コード>

<実行例>

R1C1形式で数式を指定

ここまでの例では『Range(“A1″)』という風にセルの列をアルファベットで、行を数字で指定していました。
一方、あるセルを起点として相対的にセルを参照する方法もあります。
セルを縦方向に移動する場合はRの後に、横方向に移動する場合はCの後に
移動する量を[]で囲んで指定するのでR1C1形式と呼びます。
<コード>

<実行例>

基点とするセルの右や下に移動する場合は正の整数値を、左や上に移動する場合は負の整数値を指定します。
また、数式を入力するセルを基点として相対的にセルの参照元を指定しているので縦計・横計の右辺には
それぞれ同じ数式を入力すればよいということが分かります。
というわけで、先ほどのように数式を入力したいデータが大量にある場合には次の様にコードを書くことも可能です。

<コード>

<実行例>

数式を相対参照で入力したい場合はR1C1形式にするとシンプルにコードを記述できそうですね。

まとめ

数式をVBAで操作する場合はFormulaを使用します。
そして数式をコピーする場合は絶対参照・相対参照によって計算結果が異なる場合があるので注意しましょう。

【おすすめ記事】

習得必須!VBAを教われるスクールBEST5
VBAの本・参考書の評判
業務効率をアップする!コピペで動くVBA5選
【VBA入門】Msgboxでメッセージボックスを活用する方法

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る