2013-04-02 114 views
0

早上好!從excel文件複製頭文件(Excel VBA代碼)

我正在一個excel文件中,我想從一張紙上覆制標題並將其粘貼在另一張紙的標題之後。一個例子是:

的片材1具有數據標題爲: enter image description here

表2具有數據標題爲: enter image description here

的問題是,在兩個標頭數每月犯規remian恆定。因此,我希望thye代碼(VBA)將標題從A1開始複製到sheet2的最後使用單元格,並將其粘貼到sheet1的最後一個使用單元格之後。這是我寫的我所知,有關VBA代碼:

Sub LastColumnInOneRow() 
'Find the last used column in a Row: row 1 in this example 
    Dim LastCol As Integer 
    Dim LastCell As String 
    Dim last As Long 
    Dim rng As Range 
    With Sheets("Data") 
    LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 
Set rng = Sheets("Data").Cells 
LastCell = last(3, rng) 
Range("A1" & LastCell).Select 
Selection.Copy 
End With 
End Sub 

我知道有什麼不對的,因爲它沒有按運行這段代碼。任何人都可以幫助解決這個問題。

謝謝!

+0

好了,你的*帶*號塊丟失它的*結束與*和你的線** LastCell =最後(3,rng)**除非有一個叫* last *的函數,我不知道!看看我的代碼答案 –

回答

2

嘗試以下:

Sub LastColumnInOneRow() 

Dim rngSource As Range 
Dim rngDestination As Range 

sheets("Sheet2").select 
Set rngSource = Range(Cells(1, 1), Cells(1, Range("A1").End(xlToRight).Column)) 
rngsource.copy 

sheets("Sheet1").select 
Set rngDestination = Range("A1").End(xlToRight).Offset(0, 1) 

' rngSource.Copy Destination:=rngDestination 
' rngDestination.pastespecial xlpasteall 
rngDestination.select 
activesheet.paste 
End Sub 

應該讓你開始

菲利普

+0

感謝您的回覆。代碼給出錯誤; 「對象requiredd」並突出顯示此代碼行:Set rngSource = Sheet2.Range(Sheet2.Cells(1,1),Sheet2.Cells(1,Sheet2.Range(「A1」)。End(xlToRight).Column) )。 – Nupur

+3

你應該使用「Dim Sheet2 as Worksheet,Set Sheet2 = Sheets(」enter_your_sheetname_here「)並且它應該沒問題 另外我會建議使用Cells(1,columns.count).end(xlToLeft).column作爲你的方式如果列標題爲空,則不起作用 –

+0

yes,sheet2/sheet1是VB編輯器 - 項目瀏覽器中的ID或引用(使用CTRL-R顯示),如果由於某種原因而不是Sheet2重命名,請使用**表單(「Sheet2」)**而不是Sheet1使用**表單(Sheet1「)** –

相關問題