从第1列获取值,放置单独的工作表

时间:2015-11-07 17:05:04

标签: excel vba excel-vba

在Excel中使用VBA;我在活动工作表的第1列中有名称,我想将它们带到自己的工作表中。因此,所有值为“Name1”的单元格都会将工作表重命名为“Name1”,并且列中的所有名称都相同。未设置名称数量。我不确定如何处理这个问题,因为我不熟悉复制到新的工作表。

1 个答案:

答案 0 :(得分:0)

只需使用范围End属性选择相关的单元格,并将其值复制到工作表Name1中所需目标列中的相应单元格。

以下我假设

  1. 您想要从第2行复制名称(例如,因为您有标题行)
  2. 您要复制到名为Name1的新工作表的第一列,从第2行开始
  3. 您正在复制的原始工作表是ActiveSheet
  4. 只需将以下代码分配给您喜欢的任何按钮或事件:

    Sub CopyNames()
    
    Dim TargetRange As Range
    Dim NameSheet As Worksheet
    
    
    ' Prevent Excel screen from flickering as it copies
    Application.ScreenUpdating = False
    
    ' Set the range of data you have to copy in column A, from row 2 to the last non-empty cell
    Set TargetRange = ActiveSheet.Range("A2", ActiveSheet.Range("A2").End(xlDown))
    
    ' Add the worksheet and rename it
    Set NameSheet = Worksheets.Add
    NameSheet.Name = "Name1"
    
    ' Copy and paste to the new worksheet
    TargetRange.Copy
    NameSheet.Cells(2, 1).Activate
    ActiveSheet.Paste
    
    ' Exit Copy mode
    Application.CutCopyMode = False
    
    End Sub