Excel VBA

[ExcelVBA]セルの値の移動方法

2020年3月8日

 

 

本記事はエクセル2019で動作確認を行っています。

ご自身で手入力していくことがExcel VBA習得への近道です。

 

 

困ってます
VBAを使用してセルの値を移動する方法を教えて下さい。

 

本記事はこのような疑問にお答えします。

 

本記事を読むと、値の代入方法と、メソッドを使用して値を移動する方法が分かります。

 

サイト運営者であるロンピー(@ronpeee0809)はExcelVBAを使用して現役で会社の業務改善を行っています。

これからVBAを学ぶ方がスムーズに学習を進められる手助けをしていきます。

 

エクセルはセルにデータを入力したり、移動をさせたりしながら表を完成させます。

・セルへ値を入力する方法

・セルの値をコピーする方法

・セルの値を移動する方法

・形式を選択して貼り付ける方法

を解説していきます。

 

 

セルの値を入力する方法

 

セルの値を入力する方法は、左辺に右辺を代入すればOKです。

オブジェクト.Value=”〇〇” ←文字列を記述する場合

オブジェクト.value=オブジェクト.value ←他のセルの値を代入する場合

 

セル範囲にはRangeCellsを使用します。

>>RangeとCellsについてはこちらを参照

 

(練習1)A1セルに“練習”と記入する方法です。

 

Sub 練習1()

  Range(“A1”).value=”練習”

End Sub

A1セルに練習の文字が表示されます。

 

(練習2)A1セルにB1セルの値を代入する方法です。B1セルに"練習"と記述してからコードを書きましょう。

 

Sub 練習2()

  Range(“A1”).value= Range(“B1”).value

End Sub

A1セルとB1セルに練習の文字が表示されます。

※コードがスマホ表示でくずれる場合があります。

その場合は申し訳ないですがPCでの閲覧をお願いします。

 

Valueプロパティについては省略することが可能です。

Range(“A1”)=”練習”

と入力しても上記と同じ内容になります。

 

 

セルの値をコピーする方法

 

セル範囲の値をコピーするにはCopyメソッドを使用します。

 

>>プロパティとメソッドについてはこちらを参照

 

(式)

オブジェクト.Copy   (コピー先のセル範囲)

コピー先のセル範囲は省略した場合、クリップボードにコピーされます。

 

Sub コピー()

  Range(“A3:B6”). Copy Range(“D3”)

End Sub

A3~B6の表をD3のセルにコピーすることができます。

※コードがスマホ表示でくずれる場合があります。

その場合は申し訳ないですがPCでの閲覧をお願いします。

 

 

 

 

 

 

 

 

セルの値を移動する方法

 

セル範囲の値を移動するにはCutメソッドを使用します。

(式)

オブジェクト.Cut   (移動先のオブジェクト)

移動先のセル範囲は省略した場合、クリップボードにデータが格納されます。

 

Sub 移動()

  Range(“A3:B6”).Cut Range(“D3”)

End Sub

A3~B6の表を切り取りD3へ移動することができます。

※コードがスマホ表示でくずれる場合があります。

その場合は申し訳ないですがPCでの閲覧をお願いします。

 

 

 

形式を選択して貼り付ける方法

 

CopyやCutした内容を他のセルに貼り付ける場合には、指定した内容だけ貼り付けたい場合があります。

(例)値のみ、書式のみ

 

指定内容のみ貼り付ける場合はPast Specialメソッドを使用します。

(式)

オブジェクト.PasteSpecial(Paste,Operation,SkipBlanks,Transpose)

コピー先のセル範囲や移動先のセル範囲の後にPasteSpecialメソッドを記述します。

PasteSpecialの後にそれぞれ半角スペースをあけながらPaste,Operation, SkipBlanks, Transposeで必要な情報を入力します。

 

Paste:貼り付ける内容

内容 記述方法
すべて xlPasteAll
数式 xlPasteFormulas
xlPasteValues
書式 xlPasteFormats
コメント xlPasteComments
入力規則 xlPasteValodation
コピー元のテーマを使用してすべて貼り付け xlPasteAllUsingSourceTheme
罫線を除くすべて xlPasteAllExceptBorders
列幅 xlPasteColumnWidths
数式と数値の書式 xlPasteFormulasAndNumberFormats
値と数値の書式 xlPasteValuesAndNumberFormats

 

Operation:演算をして貼り付けるとき

内容 記述方法
しない xlPasteSpecialOperationNone
加算 xlPasteSpecialOperationAdd
減算 xlPasteSpecialOperationDivide
乗算 xlPasteSpecialOperationMulitiply
除算 xlPasteSpecialOperationSubtract

 

SkipBlanks:空白のセルを貼り付け対象にするかどうかの場合

対象にするときはTrue、しないときはFalse

 

Transpose:行と列を貼り付けるときに入れ替えるかどうかの場合

入れ替えるときはTrue、入れ替えないときはFalse

 

まとめ

セルの値の移動方法を見てきました。

・Copy

・Cut

・Paste

の3つのメソッドをおさえて下さい。

 

最後まで目を通していただきありがとうございます。

-Excel VBA
-

Copyright© Ronpeee blog , 2023 All Rights Reserved.