2013-04-02 77 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“)** –

相关问题