ExcelでVBAのPasteSpecialを適用し、ソースの書式を維持する方法

  • これを共有
Hugh West

しかし、単にテキストを複製するだけではなく、条件付き書式、データの検証、データ型の書式設定、ボーダーやセルの色などの美的機能など、Excelのすべての機能を複製したい場合もあります。 同僚の配色には感心するが静的データは必要、あるいは数式は素晴らしいが配色は嫌いという場合もあるかもしれませんね。このチュートリアルでは ブイビーエー PasteSpecialで、ソースの書式をExcelに保持する。

練習用ワークブックをダウンロードする

この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。

VBA PasteSpecial.xlsm

ExcelでVBAのPasteSpecialを適用し、ソースの書式を維持する4つの簡単な例

での貼り付け特殊の使い方を4つの例で実演します。 ブイビーエー を、以下のセクションでソースの形式を保持しながらコピー&ペーストします。 以下は、コピー&ペーストに使用するサンプルデータセットです。

1.VBAのPasteSpecialを使用して入力ボックスを追加し、Excelのソースの書式を維持する

まず最初に、ボックスを使って範囲を選択し、それを別のセルに貼り付ける方法を説明します。 その方法は、以下のとおりです。

ステップ1.

  • まず最初に アルト + F11 を開始する。 マクロ .
  • 次に 挿入する。 を選択します。 モジュール オプションを使用します。

ステップ2.

  • 以下のVBAコードを貼り付けてください。
 Sub PasteSpecialKeepFormat() 'CopyCellとPasteCellを範囲変数として宣言 Dim CopyCell As Range, PasteCell As Range 'Input Boxに名前を付ける xTitleId = "ExcelWIKI" 'ワークシートからコピー範囲を選択する Set CopyCell = Application.Selection ' コピーする範囲を取る入力ボックスを設定 Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address.Item) '範囲に名前を付ける Set PasteCell = PasteCell; '範囲から選択される入力ボックス Set PasteCell: "'Set's'Set'Range(R)..........Copy...'Cellに選択範囲を設定Type:=8) '貼り付ける範囲を指定する入力ボックスを設定する Set PasteCell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) '選択範囲をコピーするコマンド CopyCell.Copy '範囲を貼り付けるコマンド PasteCell.Parent.Activate '貼り付けたセルに元のフォーマットを維持させるコマンド PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

ステップ3.

  • 保存 を押してください。 F5 を実行します。
  • 出演後 'エクセルウィキ' ボックスで、範囲を選択します。 B$4:$C$11 .
  • クリック よっしゃー .

ステップ4.

  • 任意の空白セルを選択して貼り付けます。
  • をクリックします。 OKです。

  • したがって、フォーマットをそのままにすることで貼り付け値を得ることができます。

続きを読む Excelの貼り付けと貼り付け特殊の違い

2.VBAのPasteSpecialを適用して範囲を選択し、Excelのソースの書式を維持する

ブイビーエー また、範囲を指定して、ソースの書式を維持したままコピー&ペーストすることもできます。 以下の手順で実行できます。

ステップ1.

  • プレス アルト + F11 を開く マクロ .
  • から新しいModuleを作成します。 インサート
  • 単純に、以下を貼り付けるだけです。 ブイビーエー 範囲のコード B4:C11 .
 Sub pasteSpecial_KeepFormat() 'コピーする範囲を選択 Range("B4:C11").Copy '貼り付けるセルを選択 Range("E4").PasteSpecial でフォーマットを維持する Command End Sub 

ステップ2.

  • 最後に、プログラムを保存して F5 その結果、以下の画像のように変更されることが確認できます。

続きを読む: Excelで値や書式をコピーするVBAの貼り付け特殊機能(9例)

類似の読み物

  • 2つのExcelシートを比較し、差分をコピーするVBAコード
  • Excel VBA:セルの値をコピーして別のセルに貼り付ける
  • エクセルで複数のセルを別のシートにコピーする方法(9つの方法)
  • Excel VBA: 範囲を別のワークブックにコピーする
  • [修正]: Excelで右クリックによるコピーと貼り付けが機能しない (11の解決策)

3.VBAのPasteSpecialを適用して変数を宣言し、Excelのソースの書式を保持する

変数を宣言し、変数を異なる範囲に設定することで、以下の手順でSpecialを貼り付けることができます。 ブイビーエー .

ステップ1.

  • まず最初に アルト + F11 を開く VBAマクロ .
  • 新規に選択する モジュール .
  • 次に、以下を貼り付けます。 VBAコード .
 Sub Copy_Paste_Special() '変数の宣言 Dim copy_Rng As Range, Paste_Range As Range '範囲をコピーするコマンド Set copy_Rng = Range("B4:C11") '範囲をペーストするコマンド Set Paste_Range = Range("E4") copy_Rng.Copy 'フォーマットを維持しながらpasteSpecialに貼り付けコマンドを設定 Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

ステップ2.

  • プログラムを保存したあと F5 を実行します。
  • そのため、コピーした範囲は、元の書式を維持したまま貼り付けられます。

続きを読む Excelの数式や書式にVBAのPasteSpecialを使用する方法(3つの方法)

4.VBAのPasteSpecialを使用して、Excelの別のワークシートにソースの書式を保持する

このパートでは、非常に重要なメソッドについて説明します。 なぜなら、PasteSpecialの使い方を、次のように説明するからです。 ブイビーエー を複数のワークブックにコピーします。 'Sheet4'(シートフォー に貼り付けてください。 'シート5 以下のステップのように、'.

ステップ1.

  • 開くには VBAマクロ を押してください。 アルト + F11
  • より インサート タブを選択します。 モジュールです。
  • 次に、以下を貼り付けます。 VBAです。
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False '変数の宣言 Dim copyRng As Worksheet Dim pasteRng As Worksheet '変数に範囲指定先を設定 Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") '貼り付けるセル先を設定 'Cell E4 に対して Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'範囲をコピーするコマンド copyRng.Range("B4:C11").Copy '範囲をペーストするコマンド Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

ステップ2.

  • プログラムを実行するには、 を押します。 F5 をクリックし、プログラムを保存します。
  • したがって、貼り付けた値を シート5 ソースの形式を維持したまま

続きを読む エクセルで特殊コマンドを貼り付ける方法(5つの適切な方法)

結論

まとめ:使い方がわかったかな? エクセルブイビーエー を貼り付け特殊なソースの書式を維持する。 これらの戦略はすべてあなたのデータに教え、それに使用する必要があります。 練習帳を調べ、学んだことを適用します。 私たちがこのような講義を続ける動機は、あなたの重要なサポートがあるからです。

ご不明な点がございましたら、遠慮なくお問い合わせください。 以下のコメント欄でご意見をお聞かせください。

お客様からのご質問には、できるだけ早く Exceldemy のスタッフです。

私たちと一緒に、学び続けてください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。