目次
Microsoft Excelでデータをコピー&ペーストする場合、Excelにはさまざまなショートカットやリボンツールが用意されています。 Excel ブイビーエー マクロもワークブックのオプションではなく、このような機能を備えています。 ここでは VBA ペースト・スペシャル の値や書式をExcelで設定することができます。
練習用ワークブックをダウンロードする
この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。
PasteSpecial.xlsmを使用した値とフォーマット
Excel VBAの貼り付け機能で値や書式をコピーする9つの例
今回は、以下の内容について説明します。 を使った9つのメソッド VBAマクロで ペースト・スペシャル の値やExcelでの書式を設定することができます。
そのために、以下のデータセットを検討する。
1.VBAでInputBoxを適用する 値や書式をコピーする貼り付け特殊機能
この例では、InputBoxのオプションを使って ペースト・スペシャル .
ステップ1.
- に行ってみてください。 デベロッパー タブで表示します。
- をクリックします。 記録マクロ .
- セット Excel_Paste_Special_1 として マクロ名 .
- 次に、 を押します。 よっしゃー .
ステップ2.
- ここで マクロ コマンドを使用します。
- を選択します。 マクロ を押してください。 ステップ・イントゥ .
ステップ3.
- 以下のコードをコピーして、コマンドモジュールに貼り付けてください。
Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Select Range to Copy :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) Copy_Cell.コピー Paste_Cell.Parent.Activate Paste_Cell.PasteSpecial(コピー・貼り付け) Set Copy_Cell(ペースト・セル) = Application.InputBox("ペースト・セルの追加"、xTitleId)xlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub
ステップ4.
- プレス F5 を実行してください。
- 新しいダイアログボックスが表示されるので、そのボックスでソース範囲を選択します。
- 次に、 を押します。 よっしゃー .
ステップ5.
- コピーしたセルを貼り付ける空白の範囲を選択するダイアログボックスが表示されます。
さて、データセットを見てみましょう。
を使用して、すべてのデータを値とフォーマットでコピーしています。 VBA ペースト・スペシャル .
続きを読む ExcelでVBAのPasteSpecialを適用し、ソースの書式を維持する方法
2.VBAのPaste SpecialでxlPasteAllUsingSourceThemeを使って値と書式を持つセルレンジを挿入する
に直接セル範囲を挿入することになります。 ブイビーエー のコードをこのセクションで紹介します。
ステップ1.
- プレス Alt+F11 をクリックすると、コマンドモジュールに入ります。
- コマンドモジュールに以下のコードを記述します。
Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
ステップ2.
- を押してください。 F5 を実行してください。
この xlPasteAllUsingSourceThemeを使用する。 コマンドは、ソースデータの正確な複製をコピーします。
続きを読む Excel VBA:セルの値をコピーして別のセルに貼り付ける
3.VBAの変数を使って、貼り付け特技で値や書式を指定して範囲を挿入する
の変数の使い方を紹介します。 VBA ペースト・スペシャル のコードはこちら。
ステップ1.
- まず、コマンドモジュールに入るために Alt+F11 .
- コマンドモジュールに以下のコードを記述してください。
Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
ステップ2.
- プレス F5 をクリックして、コードを実行してください。
続きを読む Excel VBA: 範囲を別のワークブックにコピーする
4.xlPasteValuesとxlPasteFormatsで値や書式を他のシートにコピーし、書式を変更しないようにする。
以上、同じシート内のデータをコピー&ペーストする方法を紹介しました。 では、その方法を紹介します。 VBA ペースト・スペシャル を異なるシートのために使用します。
ステップ1.
- をクリックして、コマンドモジュールに入ります。 Alt+F11 を作成し、その上に以下のコードをコピーしてください。
Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Restination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub
ステップ2.
- プレス F5 を実行してください。
のデータが表示されていることがわかります。 データセット がコピーされます。 異なるシート .
続きを読む Excelの数式や書式にVBAのPasteSpecialを使用する方法(3つの方法)
類似の読み物
- エクセルで複数のセルを別のシートにコピーする方法(9つの方法)
- Excelの貼り付けと貼り付け特殊の違い
- Excel VBAで他のワークブックから開かずにデータをコピーする
- エクセルでセルサイズを維持したままコピー&ペーストする方法(7例)
- Excel VBAで値をコピーして次の空白行に貼り付ける(3例)
5.xlPasteFormatsを使って、フォーマットだけを貼り付ける。
これまでの方法では、データ全体をコピーしてそのまま貼り付けていましたが、ここではデータの形式のみをコピーします。
ステップ1.
- を押して、コマンドモジュールに移動します。 Alt+F11 .
- 以下のコードをコピーして、コマンドモジュールに貼り付けてください。
Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub
ステップ2.
- ここで F5 ボタンをクリックし、コードを実行します。
データセットを見てください。 形式だけがコピーされ、ここには値は存在しません。
続きを読む Excelで書式を変更せずにコピー&ペーストする方法
6.xlPasteValuesで値だけを貼り付ける。
を使って、値だけをコピーすることができます。 VBA ペースト・スペシャル .
ステップ1.
- プレス Alt+F11 をクリックすると、コマンドモジュールに入ります。
- コマンドモジュールに次のコードを記述します。
Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub
ステップ2.
- をクリックします。 F5 をクリックして、コードを実行してください。
データセットに注目してください。 ここでは値のみがコピーされます。 このメソッドでは、フォーマットはコピーされません。
続きを読む VBAを使ってExcelで書式なしの値だけを貼り付ける方法
7.単一セルの全内容のコピー&ペースト
前のセクションでは、データの範囲をコピーしましたが、ここでは、1つのセルのみをコピーします。
ステップ1.
- を押してください。 Alt+F11 をクリックし、コマンドモジュールに入る。
- モジュールに次のコードを入力します。
Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
ステップ2.
- ここで F5 ボタンをクリックすると、コードが実行されます。
ここでは、範囲ではなく、1つのセルがコピーされていることがわかります。
続きを読む エクセルで値をコピー&ペーストする公式(5例)
8.VBAで特定の列の全属性をコピー&ペーストする
一つのセルと同じように、データセットの一つの列をコピーすることができる。
ステップ1.
- を押すだけです。 Alt+F11 をクリックすると、コマンドモジュールに入ります。
- モジュール内に以下のコードを記述してください。
Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
ステップ2.
- を押して、コードを実行します。 F5 .
ここで、以下のことがわかります。 B列 がコピーされます。 E列 .
続きを読む [修正]: Excelで右クリックによるコピーと貼り付けが機能しない (11の解決策)
9.エクセルVBAで行の全属性をコピー&ペーストする
同様に、1つの行をコピーする場合は ペースト・スペシャル .
ステップ1.
- をクリックします。 Alt+F11 をクリックして、コマンドモジュールに入ります。
- コマンドモジュールに以下のコードをコピーしてください。
Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
ステップ2.
- を押して、コードを実行します。 F5 .
これです。 4列目 がコピーされます。 11列目 .
続きを読む マクロを使用してExcelで複数の行をコピーする方法(4つの例)
結論
今回は、以下の内容を説明しました。 9 VBAの貼り付け方法 特殊な値や書式をExcelに貼り付けます。 皆様のご要望にお応えできれば幸いです。 弊社ホームページをご覧ください。 Exceldemy.com をクリックし、コメント欄にご意見をお寄せください。