Excel Office スクリプト セルのコピー/ペースト

2021年6月27日

Office スクリプトにおけるセルコピー/ペースト方法を紹介します。

使い方

スクリプトの記録を使うとアクティブシートを対象にしますが、

起動する場所によって挙動が変わってしまうため、

シート名を指定しての操作を推奨します。(赤字は可変部分

ペースト先のセル範囲.copyFrom(コピー元のセル範囲,コピー対象,空白セルを無視,行列の入替)

パラメータのコピー元のセル範囲以外は省略可能です。

ペースト先はセル範囲ですが、単独セルでも構いません。

ペースト可能か不可能かはExcelのコピー&ペーストと同様のルールです。

次の例は全てTestシートのE5セルに対してA1:A5セルの内容をすべてコピーする例です。

getRangeで指定
セルアドレスで指定
セルアドレスで指定(シートも混み)

パラメータ

コピー元のセル範囲(sourceRange)

copyFromメソッドの最初のパラメータで省略不可です。

コピー元のセル範囲のアドレスを指定します。

コピー対象(copyType)

copyFromメソッドの二番目のパラメータで省略可能です。

次のようにコピー対象を指定します。

設定値説明
ExcelScript.RangeCopyType.all通常の貼り付けです。
省略時はこの設定です。
ExcelScript.RangeCopyType.formats書式のみ貼り付けます。
ExcelScript.RangeCopyType.formulas数式のみ貼り付けます。
ExcelScript.RangeCopyType.values値のみ貼り付けます。
コード例

空白セルを無視(skipBlanks)

copyFromメソッドの三番目のパラメータで省略可能です。

trueを指定するとコピー元のセルに値がなければ無視します。

(書式だけがある場合、それも無視します)

falseでは通常の貼り付けが行われます。省略するとfalseです。

コード例

行列の入替(transpose)

copyFromメソッドの四番目のパラメータで省略可能です。

trueを指定すると行列を入れ替えます。

falseでは通常の貼り付けが行われます。省略するとfalseです。

コード例

次の記事

セルの切り取り/ペースト

関連記事

Excel Office スクリプトの記事一覧

Excel データの切り取り、コピー、貼り付け