Excel:根据条件

时间:2016-11-16 10:36:20

标签: excel excel-formula formatting rows

我有一个包含一致列的大型Excel文件,但它们的放置不太准确; 照片中的例子说明了我的问题;我只对" country"之后的信息感兴趣。柱。 因此,在每一行中,我想 1.检查每一行以找到特定的字符串 - 在这种情况下"西班牙"。 2.移动行,使找到的字符串的单元格都在同一列上。

在下面的示例中,应移动所有行,以便"西班牙"在F列下 - 用它来安排其余的信息。

moving rows to specific column ID

1 个答案:

答案 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