2016-12-07 10 views
-2

12 xlシートから特定の列(B、J、N、M、U、Vなど)をコピーして貼り付けるためにギザギザの配列を使用する方法別々のシートに保管することができます。例についてギザギザの配列別のシートの配列値として列を使用する方法

:私はB、J、N、M、私はB、J、N、O、U、V、X、AOは をコピーする必要がシート2に をコピーしなければならない必要シート1において 。 。 。 Upto Sheet12最後の行がコピーされるまで、この特定の列とその値が必要です。新しいワークシートの最後に12枚のシート値を貼り付ける必要があります。誰かがvbaを使用するのを助けます。

+2

ようこそ。 [How to Ask](http://stackoverflow.com/help/how-to-ask)を見直し、それに応じて質問を修正してください。あなたの質問が現在書かれているので、少しでも助けてもらえます。 –

答えて

0

私は試してみるよ。それはこれのようなものですか?コードを必要に応じて変更し、必要に応じて列インデックスの配列をさらに設定します。これにより、これらの列のすべてが新しいシートに貼り付けられます。

Sub test() 
Dim a() As Variant 
Dim wb As Workbook 
Dim newWS As Worksheet 
Dim nextColumn As Long, lastrow As Long, i As Long, o As Long 
Set wb = ThisWorkbook 
Set newWS = wb.Worksheets.Add(After:=wb.Worksheets(wb.Worksheets.Count)) 
a = Array(1, 4, 6, 8, 10, 11) 'column indexes 

With wb 
    nextColumn = 1 
    For i = 1 To 12 
     With .Worksheets(i) 
      For o = LBound(a) To UBound(a) 
       lastrow = .Cells(65536, a(o)).End(xlUp).Row 
       .Range(.Cells(1, a(o)), .Cells(lastrow, a(o))).Copy 
       newWS.Cells(1, nextColumn).PasteSpecial xlPasteAll 
       nextColumn = nextColumn + 1 
      Next o 
     End With 
    Next i 
End With 

End Sub 
+0

こんにちはBernd、それは本当に便利なコードですが、私の問題はそのままで、特定の列をコピーしなければならなかったのです。最後に、これらの列は同じ列ヘッダーで最後のシートに来る必要があります。my配列(これらの8つのシートの列インデックスはこれを見ます)=> My_req_col_arr(sht1-B、J、N、R、V、Z、AD、AH 、AL、AP)(sht2-B、J、M、Q、U、Y、AC) (sht4-B、J、M、Q、U、YAC、AG、AK)を生成する。 (sht7-B、J、M、Q、U、Y、AC、AG、AK、A​​Q、AS、AW) - B、J、M、Q、U、Y、AC、AG、AK、A​​O、AS、AW) (sht8-B、J、M、Q、U、Y、AC、AG、AL) –

+0

こんにちはMageshです。これは少し微調整して実際に可能です。上記のコードは各シートに同じ列が必要であるかのように今、あなたが必要とするものではありません。列番号の2次元配列を作成するだけです(私は文字の代わりに数字を使用しています)。 2次元配列の場合は、シートを使用して格納するのが一番良いでしょう。配列(a = range())、ワークシートごとに行を使用する場合は、 .Range(.Cells(1、a(i、o))、.Cells(lastrow、a )。コピー 私はそれが何とか明らかになることを望む(また、ラストローはそのように修正されなければならない) –

+0

それはberndを働かせる:)あなたの助けに感謝! –

関連する問題