MENU

最終行まで関数を入力する

無料アプリで、すぐに、エクセルVBAマクロを作成できます。

例として、「最終行まで関数を入力する」VBAマクロを作成します。

(ページの末尾に、VBAコード掲載)

事例

E列の最終行まで、IF(B2="いちご",C2*D2,"")をいれ、”いちご”の行に金額を表示します。

マクロを実行すると、”いちご”の行に、金額が表示されました。

関数は、最終行まで入力されています。

できました(^^)/

 

アプリの設定

アプリの設定です。

アプリのトップページ 

⇒◇数式・Excel関数の入力 

⇒◇数式・関数の入力

【ポイント】

■ 数式をいれる列は、空白のため、最終行が不明です。そこで、「処理する範囲」は、データがある列を選びます。数式は、そこから右に移動(OFFSET)したセルに入力します。

(例ではデータのあるA列を指定し、右に4つ移動(OFFSET)したセルに、関数を入力しています)

 範囲オプションは、「最終セルまで」を選びます。

 入力する数式は、「左上セル」と同じ行のアドレスを使います。

(例えば、「左上セル」がA2ならば、関数には、B2,C2,D2を使います。もし、数式にB3,C3,D3をつかうと、A2の関数にB3,C3,D3が入力され、結果がズレます)

 入力する数式は、=で始め、全体を”で囲みます。

 数式内の文字列も”で囲み、””文字列””となります。

 例では、"=IF(B2=""いちご"",C2*D2,"""")"となります。

 

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

Sub デモ_2() '数式入力
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("sheet1").Select
'◆最終行を取得し、セル範囲を決める
Range("a2:a2").CurrentRegion.Select
右下セル = Cells(Selection.Row + Selection.Rows.Count - 1, Range("a2").Column).Address(False, False)
セル範囲 = "a2" & ":" & 右下セル

 Range(セル範囲).Select
Call デモ_2_メイン処理(セル範囲, セル)
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub
 
Sub デモ_2_メイン処理(セル範囲 As String, セル As Range)
Selection.Offset(0, 4).Formula = "=IF(B2=""いちご"",C2*D2,"""")"
End Sub

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓