2016-11-02 13 views
0
Sub copycolumns() 

Dim y As Workbook 
Dim x As Workbook 
Dim ws As Worksheet 
Dim sh As Worksheet 

Set x = Workbooks.Open("C:\Users\hshabbir\Desktop\testing.xlsx") 
Set sh = x.Sheets("Sheet2") 

Set y = ThisWorkbook 
Set ws = y.Sheets("Sheet1") 
Application.ScreenUpdating = 0 

Dim i As Integer, searchedcolumn As Integer, searchheader As Object 

For i = 1 To 8  
    Set searchheader = ws.Cells(1, i)  
    searchedcolumn = 0 

    On Error Resume Next 
    searchedcolumn = sh.Rows(1).Find(what:=searchheader.Value, lookat:=xlWhole).Column 
    On Error GoTo 0 

    If searchedcolumn <> 0 Then 
     ws.Columns(searchedcolumn).Copy Destination:=searchheader  
    End If 
Next i 

x.Close 

End Sub 
+0

それがコピーされていないデータ –

+0

を動かすために働いていないです得ていないのです列( 'ws.Columns(searchedcolumn).Copy')をセルに挿入しますか? ( 'set searchheader = ws.Cells(1、i)')もしあなたがエラーを処理していなければ何も起こりません。 – RCaetano

答えて

0

次のプログラムを使用すると、正常に動作し、あるシートから別のシートに日付がコピーされます。 サブcopycolumns1()

薄暗いI整数、整数としてsearchedcolumn、エラー再開上のオブジェクトとしてsearchheader

セットsearchheader =シート(2).Cells(1、1)

searchedcolumn = 0 として次 searchedcolumn =シート(1).Rows(1).Find(何:= searchheader.Value、ルックアット:= xlWhole).Column エラーで後藤0

その後searchedcolumn <> 0であればシート(1) 。列(searche dcolumn).Copy先:= searchheader END IF

End Subの

が、私は、あなたがコピーして別のブックに1つのワークブックから

関連する問題