我可以在第一个工作表上找到具有特定数据标题的列。然后要将这些列中的每一个都复制到另一个工作表中,即不同的列。最终,这跳过了我在第一个工作表上不需要的许多数据。从一个实验到另一个实验的数据发生了变化,因此我需要一个通用宏。
使用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
答案 0 :(得分:0)
这应该有效:
c.EntireColumn.Copy Destination:=oDWksht.Cells(1, j)
如果它仍在跳过数据,则将有助于提供应复制但不会复制的内容的示例