我是Excel宏的新手。我有一些标题分散在许多工作表中的列。我想在某个列中键入一个带有光标的标题,并将带有该标题的列用光标复制粘贴到该列。
是否可以通过录制宏来实现此目的?怎么样?如果没有,我该如何以编程方式进行?
答案 0 :(得分:1)
以下是有关复制已找到列的代码的一些注释。
Dim ws As Worksheet
Dim r As Range
Dim CopyTo As String
'You must run the code from a suitable active cell '
strFind = ActiveCell.Value
'Assumes the column data will be written into the next row down '
CopyTo = ActiveCell.Offset(1, 0).Address
'Look at each worksheet'
For Each ws In ActiveWorkbook.Worksheets
'Skip the active worksheet '
If ws.Name <> ActiveSheet.Name Then
'Get the last cell and row'
lc = ws.Cells.SpecialCells(xlCellTypeLastCell).Column
lr = ws.Cells.SpecialCells(xlCellTypeLastCell).Row
'Use the first row for search range '
Set r = ws.Range(ws.Cells(1, 1), ws.Cells(1, lc))
'Find the first whole cell to match the active cell '
Set f = r.Find(strFind, , , xlWhole)
'If it is found ... '
If Not f Is Nothing Then
'Copy the whole column to the copy position '
ws.Range(ws.Cells(2, f.Column), _
ws.Cells(lr, f.Column)).Copy (ActiveSheet.Range(CopyTo))
End If
End If
Next
答案 1 :(得分:0)
标题是否在不同的工作表上出现多次?如果没有,那么我建议使用简单的if语句
if('columnheading'='要检查的列','line1ref','line1refin其他表')
您必须检查每列才能执行此操作。
是否有多张纸,列总是在同一位置?