我有一个只有一列的Excel文件。我想将前4行的内容移动到4个不同的列中(第1列中的第一行,第2列中的第二行等)然后我想重复此相同操作,直到列中的所有值都已分配到这四列(四行重复一系列)。 然后,每一行都有一个我想要找到的唯一单词,并且基于此我想将它(剪切和粘贴)移动到特定列。我认为下面的例子更容易解释。我想找到'cheese'这个词,如果找到了,我希望将它移到第二列,重复这个操作,直到所有包含'cheese'字样的行都排列成一列。我正在尝试将数据排列到一个表格中,以后我可以进一步使用。 谢谢您的帮助。 我从.txt文件中获取数据并将其放入Excel中也证明有点困难。
实施例
Row1
Cheese: 250
Row2
Ham: 35
Row3
Cheese: 200
Row 4
Ham:40
Row5
Cheese: 230
Row6
Ham:45
代码
Sub test4()
Dim lastrow As Long
lastrow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For i = 1 To lastrow
Range("A1").Activate
Cells.Find(What:="Part").Copy
If ActiveSheet.Cells(i, 2) = "" Then
ActiveSheet.Cells(i, 2).Activate
'Range("B1").Activate
ActiveCell.PasteSpecial (xlPasteAll)
End If
Next i
End Sub
答案 0 :(得分:2)
这将从C1
开始复制数据Sub test4()
Const PER_ROW As Long = 4
Dim i As Long, sht as WorkSheet
Set sht = ActiveSheet
For i = 1 To sht.UsedRange.SpecialCells(xlCellTypeLastCell).Row
sht.Cells(1,3).offset(Application.Floor((i-1)/PER_ROW, 1) , _
(i-1) Mod PER_ROW).value = sht.Cells(i,1).Value
Next i
End Sub
答案 1 :(得分:2)