Excel VBA で選択した複数のセルにデータ・数式を(Ctrl+Enter のように)一気に入力する方法

【本日のミッション】

Excel 操作 Ctrl+Enter で複数のセルにデータを一気に入れるように、Excel VBA で複数のセルにデータや数式を一気に入力せよ。

ミッションの概要

Excel操作で、選択した複数のセルに同じ数式を入力するときには、[Ctrl+Enter]を使用します。(下記「Excel操作[Ctrl+Enter]で一気に値・数式を入力する」参照)

この操作と同じように、選択した複数のセルに一気に数式を入力するのが、今回のミッションです。

入力する数式は、第1四半期~第4四半期の合計。
数式の参照先は、相対参照としてそれぞれのセルにあった数式に変更されていること。


■■■スポンサーリンク■■■

プロシージャ

Sub 数式を一気に入れる()
    Range("B5:D5,B9:D9,B13:D13,B17:D17") = "=SUM(B2:B4)"
End Sub

記入したプロシージャ(Sub~End Subまで)のどこかにカーソルを置いてF5キーをクリックしてください。

Excelのシートを見てください。

指定したセル全てに、相対参照で数式が入力されましたね。

Excel操作[Ctrl+Enter]で一気に値・数式を入力する方法

Excelでは複数のセルを選択した状態で、同じ値や数式を相対参照で一気に入力することができます。

  1. 値・数式を入力したいセルをCtrlキーを押したまま選択します。
  2. Ctrlキーを押したまま、値・数式を入力するセルをクリックします。
  3. 値・数式を入力し、数式内にカーソルがある状態で[Ctrl+Enter]を押します。
  4. 選択したセルに、相対参照での数式が入力されます。
    数式で「$」で絶対参照にした部分は、列・行が固定されます。


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

数式の参照先の指定方法

左辺には数式を入れるセルを、右辺には数式を指定します。

Range("B5:D5,B9:D9,B13:D13,B17:D17") = "=SUM(B2:B4)"

指定した複数セルのうち、一番目のセル「B5」に入力する数式にします。

数式の列や行を固定する場合は、「$」を使って絶対参照にします。

例:"=SUM(B2:B4)*$G$2"

数式で「””」ダブルクォーテーションを使用する場合は、「””」ダブルクォーテーションを「””」ダブルクォーテーションで囲む必要があります。

Range("B5:D5,B9:D9,B13:D13,B17:D17") = "=IFERROR(SUM(B2:B4),"""")"

マクロで「””」としている部分も、きちんと「””」になります。

参照

「数字が文字列として保存されています。」を一括で数字に変換
データが増減しても参照先を変更しない名前の管理(Excel)
連動するドロップダウンリストを名前の管理・入力規制・OFFSET・INDIRECTを使って「リストが表示されない」を解決(Excel)
Excel 複数セル内の改行(Alt+Enter)を一括で解除する方法
Excel関数を使って 縦の表に連動した(リンクした)横の表を一括で作成せよ
ワイルドカードとは。使い方いろいろ。(Excel)
Excelの改ページの点線を消す方法
Excelの背景にある薄グレーの枠線(罫線)を消す(非表示)方法
非表示になってしまった列を表示させる方法
ファイルを開くと空の画面も同時に開くのを解決(Excel)
図 画像 グラフ ボタン などのオブジェクトが消えてしまった時の表示方法(Excel)
大量の画像やグラフ等のオブジェクトで画面表示が遅いのを解決(Excel)
保護されたシートに対して、このコマンドは使用できません。テーマが変えられない現象を解決(Excel)
離れた複数列をまとめて列番号(数字)で選択する方法(Excel VBA)
Excel VBA で選択した複数のセルにデータ・数式を(Ctrl+Enter のように)一気に入力する方法

■■■スポンサーリンク■■■