簡體   English   中英

如何在Excel VBA中將基於標題的列從一個工作簿復制到另一個工作簿

[英]How to copy a column based on header from one workbook to another in excel VBA

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

當我在工作簿中使用以下程序時,它可以正常工作並將日期從一張紙復制到另一張紙。 子copycolumns1()

昏暗的我作為整數,searchedcolumn作為整數,searchheader作為對象

設置searchheader = Sheets(2).Cells(1,1)

searchedcolumn = 0出現錯誤時恢復下一個searchedcolumn = Sheets(1).Rows(1).Find(what:= searchheader.Value,lookat:= xlWhole).Column On Error GoTo 0

如果searchedcolumn <> 0,則Sheets(1).Columns(searchedcolumn).Copy目標:= searchheader如果結束

結束子

但我無法將其從一個工作簿遷移到另一工作簿

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM