将具有特定标题的工作表列复制到另一个工作表的不同列中

时间:2019-05-05 18:57:16

标签: excel vba

我可以在第一个工作表上找到具有特定数据标题的列。然后要将这些列中的每一个都复制到另一个工作表中,即不同的列。最终,这跳过了我在第一个工作表上不需要的许多数据。从一个实验到另一个实验的数据发生了变化,因此我需要一个通用宏。

使用Stackoverflow进行搜索,并尝试了以下几种变体:

Sub copy_pressure_columns()
Dim oSWksht     As Excel.Worksheet
Dim oDWksht     As Excel.Worksheet
Dim c As Range, v
Dim k As Range, j
Set oSWksht = ActiveWorkbook.Worksheets("hscth_exp_50g_wall_jan20")
Set oDWksht = ActiveWorkbook.Worksheets("Sheet1")
j = 3
For Each c In Application.Intersect(oSWksht.Rows(2), oSWksht.UsedRange)
  v = Trim(c.Value)
  If v Like "P.#" Or v Like "P.##" Then
    Debug.Print v & " found at " & c.Column & _
                 " on '" & c.Parent.Name & "'"
    Debug.Print " from column " & c.Column & _
                 " to column '" & j & "'"
     Sheets(oSWksht).Columns(c.Column).Copy Destination:=Sheets(oDWksht).Columns(j.Column)
    j = j + 1
  End If
Next c
End Sub

1 个答案:

答案 0 :(得分:0)

这应该有效:

c.EntireColumn.Copy Destination:=oDWksht.Cells(1, j)

如果它仍在跳过数据,则将有助于提供应复制但不会复制的内容的示例