2016-04-01 14 views
0

VBAを使用してExcelファイル内のいくつかの範囲を選択し、クリップボードにコピーしてテキストエディタに貼り付ける必要があります。私はいくつかのマクロをそれぞれの範囲ごとに記録します。しかし、この場合は、最初のマクロを実行してからペーストし、次に2番目にマクロを実行する必要があります。これは非常に時間がかかります。最初の範囲を選択してクリップボードに貼り付ける方法はありますか?クリップボードに次の範囲を追加する方法はありますか?いくつかの範囲を選択し、Excel vbaを使用してクリップボードに入れる方法は?

私はvar内のすべての選択を収集して貼り付けることができますが、私はVBAで遊んでいないと私は使用する必要があるオブジェクトを認識していないと思います。

私のコードでは、なります

Sub step01_Select_DB_Structure() 
' Select DB structure and copy into memory 
    Range("GF4:GG1000").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
End Sub 

Sub step02_Select_UK_Index() 
' Select UK column 
    Range("GH4:GH1000").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
End Sub 

Sub step03_Select_PK_Index() 
' Select PK column 
    Range("GI4:GI1000").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
End Sub 

Sub step04_Select_FK_Index() 
' Select FK column 
    Range("GJ4:GJ1000").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
End Sub 

Sub step05_Select_Others() 
' Select Other columns 
    Range("GK4:GP1000").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
End Sub 

EDIT:

I私の場合、私は数式を作成するためのExcelを使用するので、私は、範囲が同じ順序次々にClipboardにペーストする必要があります全体の範囲を貼り付けようとすると結果は無効になります。 GP1000:

+0

目的地がテキストエディタの場合は、* .TXTファイルに入れてからエディタで開きます。私はそれがクリップボードをめちゃくちゃにするより簡単だろうと思う。 –

+0

確かに@PatrickLepelletierですが、私はVBAに秀でていて新しく、そのやり方はわかりません。とにかく、このアイデアは大丈夫​​です。私はそれについてGoogleに挑戦する。提案は10倍。他のオプションは、文字列変数を持ち、それをクリップボードに送ることです。 – new2ios

答えて

0

あなたは、単一のエリア範囲、すなわちGF4をコピーするようにそれが見えるしかし、あなたの場合には、単一のRangeオブジェクト


    Dim rng As Range 
    Set rng = Union(Range("A1:A3"),Range("B6:B9")) 
    rng.Copy 
にして範囲のいくつかの領域を結合するために連合を使用することができます。ユニオンはまったく必要ありません

+0

例を挙げることができますか? – new2ios

+0

コピーすることはできません。それらは公式であり、私はそれらを次々と持っていなければなりません。これは機能していません - それは大きな範囲として計算されます。これは私の場合はOKです。 – new2ios

関連する問題