我有一个包含一致列的大型Excel文件,但它们的放置不太准确; 照片中的例子说明了我的问题;我只对" country"之后的信息感兴趣。柱。 因此,在每一行中,我想 1.检查每一行以找到特定的字符串 - 在这种情况下"西班牙"。 2.移动行,使找到的字符串的单元格都在同一列上。
在下面的示例中,应移动所有行,以便"西班牙"在F列下 - 用它来安排其余的信息。
答案 0 :(得分:0)
如果未更改单词Spain,请使用此VBA代码:
Sub MoveCoun()
Dim LastRow As Long
Dim rFind As Range
Dim r As String
Dim m As Integer
LastRow = 1000
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