希望你能帮助一个基本的Excel用户!
我有一个大约2000行的文件,我需要在每第三行后添加一行/ break。请问这是一种简单的方法吗?
非常感谢您的帮助和建议。
由于
答案 0 :(得分:5)
答案 1 :(得分:4)
如果你想尝试一些VBA,这里是一个按钮点击事件,它将在每第三行进行插入。如果您有任何问题,请告诉我。
Private Sub CommandButton1_Click()
Dim ws As Excel.Worksheet
Dim lRow As Long
Dim lastRow As Long
'Set the worksheet object to the sheet by name
Set ws = Application.Sheets("Sheet1")
'Set the row to start looping(inserting) rows at
lRow = 4
'Find the last row with a value in column A
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'Account for the amount of rows that will be inserted.
lastRow = lastRow + (lastRow * 0.33)
'Loop through the worksheet from the start row to the last row
Do While lRow <= lastRow
'Insert a row
ws.Rows(lRow).EntireRow.Insert
'Increment the row to insert at on the next pass of the loop
lRow = lRow + 4
Loop
End Sub
答案 2 :(得分:2)
答案 3 :(得分:0)
如果您的内容相同或重复,则可以在任何基本文本编辑器中打开该文件并执行以下操作:
这应该是这样的:
item
item
item
item
item
item
item
......进入这个:
item
item
item
item
item
item
item
......等等。
这绝对不是最优雅的解决方案,但是在没有诉诸bash等文本解析脚本的情况下,我是最快/最简单的解决方案之一。
答案 4 :(得分:0)
假设数据从A1开始,在B1中开始并向下复制以适应(即超过ColumnA中填充的单元格的末尾):
=IF(MOD(ROW(),4)=0,"",OFFSET(A$1,3*INT((ROW()-1)/4)+MOD(ROW(),4)-1,))
答案 5 :(得分:0)
这是一个等同于上面Eric K.提出的解决方案的VBA。方向假设第1行中的列标题标签应该保持不变。
Sub insBlankFourthRow()
Debug.Print Timer
With Worksheets("Sheet3")
.Columns(1).Insert
With .Cells(1, 1).CurrentRegion '<~~ original CurrentRegion
With .Resize(.Rows.Count - 1, 1).Offset(1, 0)
.Cells(1, 1) = 1
.Cells.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
With .Resize(Int(.Rows.Count / 3) + 1, 1).Offset(.Rows.Count, 0)
.Cells(1, 1) = 3.5
.Cells.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=3
End With
End With
'
With .Cells(1, 1).CurrentRegion '<~~ new expanded CurrentRegion
.Cells.Sort Key1:=.Columns(1), Order1:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlYes
End With
.Columns(1).Delete
End With
Debug.Print Timer
End Sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~填充了Range.DataSeries method(我知道填充序列的最快方式)的“帮助”列可以在完成其目的后立即丢弃。
对图像的典型的2500行随机数据运行上面的时间为⁸/ 10 0秒。通过禁用Application.ScreenUpdating property和类似的开销,可以适度改善这段时间。