0
我有一个大的excel文件,列的长度一致,但它们的位置不太准确; 照片中的示例说明了我的问题;我只对“国家”栏后面的信息感兴趣。 因此,在每行内,我想 1.检查每一行以找到特定字符串 - 在本例中为“西班牙”。 2.移动该行,以便找到的字符串单元格全部位于同一列上。Excel:根据条件将行的内容移动到特定的列
在下面的例子中,所有的行都应该移动,以便“西班牙”在列F下 - 安排其余的信息。
我有一个大的excel文件,列的长度一致,但它们的位置不太准确; 照片中的示例说明了我的问题;我只对“国家”栏后面的信息感兴趣。 因此,在每行内,我想 1.检查每一行以找到特定字符串 - 在本例中为“西班牙”。 2.移动该行,以便找到的字符串单元格全部位于同一列上。Excel:根据条件将行的内容移动到特定的列
在下面的例子中,所有的行都应该移动,以便“西班牙”在列F下 - 安排其余的信息。
如果字西班牙没有改变,使用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