,那么您可以编写一个脚本来执行此功能。我有一长串包含大量列的数据。这些列的名称都有“Person_1_Date”,“Person_1_Name”,“Person_2_Name”,“Person_2_Date”等。在VBA中,如果一个单元格包含某些文本,并且将范围设置为列
我正在尝试编写一个脚本,用于为每个人(Person_1,Person_2)并按特定顺序(日期,名称,日期,名称,而不是日期,名称,名称,日期,因为它在这里)重新排列它们。
我试验的粗略部分脚本看起来像以下至今:
Sub Test()
Dim Rng As Range
Dim k As Long
Set Rng = Columns("B:B")
For k = Columns("B").Column To Columns("DE").Column Step 1
If (IsNumber(Search("Person_x_Date", "k" & 1)) Then 'Looking to make this get called if the Search comes back with a number'
Columns("k:k").Cut
Rng.Selection.Insert Shift:=xlToRight
Next k
End Sub
有几件事情我在寻找的帮助是否有可能写一个搜索功能,将寻找一个什么样的细胞中的部分,而忽略另一个?用Person_x_Date
我希望能找到一个单元代替x的单元,所以它可以找到Person_1_Date,Person_2_Date等。这可能吗?
其余的是一团糟。实质上,我想将范围设置为整个列,如果搜索找到某些内容,它会将其复制并粘贴到正确的位置,然后再继续,直到找到接下来应该出现的内容(如Person_X_Date)。
我知道我写的代码的后半部分与此相距甚远。我只是寻找任何建议来帮助我把它们放在一起。
是它始终是一个单元都有一个的情况下人名,然后是下划线,然后是一些数字,然后是另一个下划线,然后是日期? –