【问题标题】:Copy Headers from an excel file (Excel VBA code)从 excel 文件中复制标题(Excel VBA 代码)
【发布时间】:2013-04-02 12:54:08
【问题描述】:

早安!

我正在处理一个 Excel 文件,我想在其中复制一张表的标题并将其粘贴到另一张表的标题之后。一个例子是:

工作表 1 的数据标题如下:

表 2 的数据标题如下:

问题是两个标题的数量每个月都不会保持不变。因此,我希望您的代码(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

我知道这段代码有问题,因为它没有运行。任何人都可以帮助解决这个问题。

非常感谢!

【问题讨论】:

  • 好吧,您的 With 块丢失了它的 end with 和您的行 LastCell=last(3,rng)除非有一个我不知道的名为 last 的函数,否则看起来也是错误的!看看我下面的代码答案

标签: vba excel excel-2007


【解决方案1】:

试试下面的:

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

这应该让你开始

菲利普

【讨论】:

  • 感谢您的回复。代码给出错误; “Object requiredd”并突出显示这行代码: Set rngSource = Sheet2.Range(Sheet2.Cells(1, 1), Sheet2.Cells(1, Sheet2.Range("A1").End(xlToRight).Column) )。
  • 您应该使用“Dim Sheet2 作为工作表,Set Sheet2 = Sheets("enter_your_sheetname_here") 应该没问题。另外我建议使用 Cells(1,columns.count).end(xlToLeft)如果有空的列标题,.column 作为你的方式将不起作用
  • 是的,sheet2/sheet1 是 VB 编辑器 - 项目资源管理器中的 ID 或引用(使用 CTRL-R 显示),如果由于任何原因已重命名,请使用 sheets("Sheet2") 而不是 sheet1 使用 sheets(Sheet1")
  • +1 @PotterRafed 我已经修改了代码,以便您更轻松地使用 F8 单步执行代码并查看发生了什么
  • 谢谢。代码运行完美。唯一的问题是,当列标题位于 Sheet1 的合并单元格中时,它会开始将 Sheet2 中的标题粘贴到 sheet1 上的合并单元格中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 2018-05-04
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
相关资源
最近更新 更多