如何使用VBA在EXCEL中批量删除整列数据并调整列的顺序?,EXCEL使用VBA,很多组测试数据存在一列里,如何把多组数据重新按标题分开,分成多列,Excel VBA 如何查找表格中第一行为指定名称的列并复制这列除第一行外以下的内容?...
如何使用VBA在EXCEL中批量删除整列数据并调整列的顺序?
我的思路不一样,但结果应该是一样的
我是把要保留的列,放到新表(sheet2)里面且排序了
首先,需要将排序的位置放在sheet2的A列中,然后执行代码
Sub m()
Set dicb = CreateObject("scripting.dictionary")
For i = 1 To Sheet2.Range("A65536").End(xlUp).Row
If dicb.exists(Sheet2.Cells(i, 1).Value) = False Then
k = k + 1
dicb(Sheet2.Cells(i, 1).Value) = k + 1
End If
Next i
For i = 1 To Range("A1").End(xlToRight).Column
If dicb.exists(Cells(1, i).Value) = True Then
Columns(i).Copy Sheet2.Columns(dicb(Cells(1, i).Value))
End If
Next i
End Sub
EXCEL使用VBA,很多组测试数据存在一列里,如何把多组数据重新按标题分开,分成多列
Sub 数据分离() Dim rng As Range, t As Integer, irow As Long t = 4 For Each rng In Range("A1").Resize(Range("A" & Rows.Count).End(3).Row, 1) If rng = "NAME" Then t = t + 2 irow = Cells(Rows.Count, t).End(3).Row + 1 If Cells(1, t) = "" Then irow = 1 Cells(irow, t) = rng Cells(irow, t + 1) = rng.Offset(, 1) NextEnd Sub代码我没测试,你自己试一下吧。
Excel VBA 如何查找表格中第一行为指定名称的列并复制这列除第一行外以下的内容?
Sub AAA() Dim R1 As Range Dim R2 As Range Set R1 = Sheets("SHEET1").Rows(1).Find("指定名称", , , xlWhole) If R1 Is Nothing Then MsgBox "找不到 指定名称": Exit Sub Set R2 = Sheets("sheet2").Rows(1).Find("目标", , , xlWhole) If R2 Is Nothing Then MsgBox "找不到 目标": Exit Sub Sheets("sheet1").Range(R1.Offset(1), Sheets("sheet1").Cells(Rows.Count, R1.Column).End(3)).Copy R2.Offset(1)End Sub
下一篇:没有了