簡単な輸出インボイス作成マクロ (19)
X) セルのコピー・移動
Excelの操作が、それぞれ下記の「メソッド」に対応しています。Excel | メソッド |
---|---|
コピー | Copy |
切り取り | Cut |
貼り付け | Paste |
形式を選択して貼り付け | PasteSpecial |
PasteSpecialメソッド
前回ブログ「マクロの記録」で、「形式を選択して貼り付け」を選択して、実行したので、「PasteSpecialメソッド」を先にご紹介します。私の場合、「コピー」・「貼り付け」する場合、この「PasteSpecialメソッド」を頻繁に用いています。
参考のため、前回「マクロの記録」で作成された「コード」を再掲します。
この「コード」は、下記のように整理されます。
Sub CopyMessrs() Sheets("SI").Range("B10:B11").Copy Sheets("INV").Range("C12").PasteSpecial Paste:=xlPasteValues End Sub
但し、上記「プロシージャ」を実行すると、「コピーで選択した範囲」が点線で囲まれています。
コピーしたデータが「クリップボード」に残っている状態です。
そこで、「コピーモード」を「オフ」にする「ステートメント」を付け加えておきます。(Application.CutCopyMode = False)
Sub CopyMessrs() Sheets("SI").Range("B10:B11").Copy Sheets("INV").Range("C12").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End Sub
上記「ステートメント」中の[xlPasteValues]が、Excelでの操作「形式を選択して貼り付け」中の「値(V)」に相当します。
下記の設定値が、「形式を選択して貼り付け」の各規定に対応しています。
No. | 設定値 | 内容 | |
---|---|---|---|
(1) | xlPasteAll | すべて | |
(2) | xlPasteFormulas | 数式 | |
(3) | xlPasteValues | 値 | |
(4) | xlPasteFormats | 書式 | |
(5) | xlPasteComments | コメント | |
(6) | xlPasteValidation | 入力規則 | |
(7) | xlPasteAllUsingSourceTheme | コピー元のテーマを使用してすべて貼り付け | |
(8) | xlPasteAllExceptBorders | 罫線を除くすべて | |
(9) | xlPasteColumnWidths | 列幅 | |
(10) | xlPasteFormulasAndNumberFormats | 数式と数値の書式 | |
(11) | xlPasteValuesAndNumberFormats | 値と数値の書式 | |
(12) | xlPasteAllMergingConditionalFormats | すべての結合されている条件付き書式 |