VBAで別シートに数式を入力する方法

Visual Basic

VBA初心者の方がExcelで別シートに数式を入力する方法について解説します。特定のシートに数式を入力する際、同じシートでは簡単にできることでも、別シートとなると少し工夫が必要です。この記事ではその方法と注意点を具体的に説明します。

VBAで別シートに数式を入力する方法

まず、別シートに数式を入力するには、シートを指定してその範囲に対して数式を設定します。以下のコードを参考にしてください。

Dim ws As Worksheet
Dim targetSheet As Worksheet
Dim endRow As Long

Set ws = ThisWorkbook.Sheets("Sheet1")
Set targetSheet = ThisWorkbook.Sheets("Sheet2")

endRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

' シート2のC2セルからC列に数式を入力
targetSheet.Range("C2:C" & endRow).Formula = "=Sheet1!B2*2"

このコードでは、Sheet1のB列のデータを元にSheet2のC列に数式を入力しています。

シートの指定と数式入力

VBAで数式を入力する際、どのシートに入力するかを確実に指定することが重要です。上記の例では、`Set ws`でデータ元のシート(Sheet1)を指定し、`Set targetSheet`で数式を入力するシート(Sheet2)を指定しています。このように、数式を入力したいシートを変数として指定することができます。

注意点

シート名やセル範囲が異なる場合、数式の参照が正しく設定されないことがあります。数式を入力する際、参照するセルやシート名が正しいか確認しましょう。また、範囲を自動で取得する場合は、`End(xlUp)`を使うことで、データの最終行を自動的に取得できます。

まとめ

VBAで別シートに数式を入力する方法は、シートを正しく指定し、その範囲に対して数式を設定することで実現できます。シート間での数式入力に慣れることで、より効率的に作業ができるようになります。これを踏まえて、さらに自分の用途に合ったVBAコードを作成してみてください。

コメント

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