2017-11-28 14 views
0

これはおそらくかなりシンプルですが、初心者としてこれらの2つのコードを1つにまとめる方法がわかりません。VBA - 書式設定なしの範囲を貼り付ける/挿入する

今はこのコードを使用して、特定の範囲にテーブルをコピー&ペーストします。 Sheet3.Range("MyTable").Copy Sheets("MyWorksheet").Range("B12:D12").Insert Shift:=xlDown

今、私はフォーマットせずにそれを貼り付けると、このコードは、作業を行う必要があります。

Sheets("MyWorksheet").Range("B12:D12").PasteSpecial xlPasteValuesAndNumberFormats 

私がする必要があるのは、何とか二コードにShift:=xlDownを追加することです...がすることが可能ですそれを一列にしてみましょうか?

答えて

0

で試してみてくださいこのソリューションでは、最初にコピーしたもの+以前に挿入したもの、2番目に挿入したものを上書きする値を貼り付けてコピーします。

Sheet3.Range("MyTable").Copy 
Sheets("MyWorksheet").Range("B12:D12").Insert Shift:=xlDown 

With Sheets("MyWorksheet").Range("B12").Resize(Sheet3.Range("MyTable").Rows.Count, Sheet3.Range("MyTable").Columns.Count) 

    .Copy 
    .PasteSpecial xlPasteValuesAndNumberFormats 

End With 
    Application.CutCopyMode = False  
0

は2行でそれを行うようにしてくださいしかし、あなたはすべての命令の正しい順序を維持する必要があります:

Sheets("MyWorksheet").Range("B12:D12").Insert Shift:=xlDown 
Sheet3.Range("MyTable").Copy 
Sheets("MyWorksheet").Range("B12").PasteSpecial xlPasteValuesAndNumberFormats 

また.insert前に次の行を必要とすることができます

application.CutCopyMode = false 
+0

それは残念なことに私にとってはうまくいきません。私は2行でそれを行う場合、私は空行を挿入するために最初の行だけを必要とする...本当に1つの行に2つの "引数"を持つ方法はありますか? – Zorro

+0

私はいくつかのテストをしましたが、それは私のためには機能しませんでしたので、むしろ不可能です。 **コピー>貼り付け**を試してみて、次にコピーしたものを**コピー&ペーストしてください**は、「MyWorksheetシート」に挿入されたものだけをコピーしてみてください。この回答は後で削除させていただきます。 –

+0

それは私にとって理にかなっていますが、どうしたらいいですか?あなたはすでにそのコメントを多く手伝っていますので、コードを書く時間がない場合でもありがとうございます... – Zorro

関連する問題