我在Excel中获得了3000行数据。 每行包含相同类型的信息,但顺序不正确。 我需要做的是在同一列下收集相同类型的信息。我想创建一个宏:
在行中搜索部分字符串(某些值具有相似字符串但属于不同类别)
如果字符串是单元格的一部分,则复制整个单元格 新地点
重复下一行
提前致谢
答案 0 :(得分:2)
Sub MoveColumns()
Dim LastRow As Long
Dim rFind As Range
Dim r As String
Dim m As Integer
LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
MsgBox (LastRow)
For n = 1 To LastRow
r = n & ":" & n
Range(r).Select
With Range(r)
Set rFind = .Find(What:="Spain*", LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not rFind Is Nothing Then
If rFind.Column < 6 Then
m = 6 - rFind.Column
Range(Cells(n, 1), Cells(n, m)).Insert Shift:=xlToRight
ElseIf rFind.Column > 6 Then
m = rFind.Column - 6
Range(Cells(n, 1), Cells(n, m)).Delete Shift:=xlToLeft
End If
End If
End With
Next
End Sub
<强>已更新强> 如果row不包含以“Spain”开头的任何值,则只会忽略并跳过此行。 我希望您可以修改和自定义适合您数据的方式。