我有一张excel表,看起来像这样:
我想在每个填充的单元格下面插入行(或单元格)。像这样:
我有成千上万的记录,所以需要自动完成。我怎样才能做到这一点?
提前致谢!
非VBA方法是制作新工作表,并在A1中输入此公式:
=INDEX(Sheet1!A:A, ROUNDUP(ROW(A1)/2, 0))
然后选择A1和A2(保留A2空白),复制它,选择Sheet1中两倍的行数,然后粘贴。
如果您只需要值,则可以选择A列并复制,然后仅粘贴特殊值和粘贴值。
您可以使用以下代码在VBA中执行此操作:
Sub doIt()
Dim numRows As Long
Dim i As Long
numRows = ActiveSheet.UsedRange.Rows.Count
For i = numRows To 2 Step -1
ActiveSheet.Rows(i).Insert Shift:=xlDown
Next i
End Sub
或者,我从https://www.pcmag.com/article/149833/insert-alternate-blank-rows-in-excel找到了以下解决方案
您可以单独创建空行,然后通过排序将它们与现有行交错。首先,在现有列A的左侧插入一个新列。在单元格A1中输入1,然后突出显示列A到包含数据的最后一行。从编辑菜单中选择填充|系列并单击确定。 A列现在应包含从1到总行数的数字。按Ctrl-C将这些单元格复制到剪贴板,单击最后一个单元格下方的单元格,然后按Ctrl-V进行粘贴。现在突出显示整个数据区域,包括A列中只有一个数字的新行。从“数据”菜单中选择“排序”,然后在结果对话框中选择“无标题行”选项。在排序方式下选择列A,然后在选择列B下,然后单击确定。最后,删除A列。现在每1000个原始行之后都有一个空行。
由于空行通常会导致图表或计算出现问题,因此您可能需要快速删除它们。您可以使用类似的技术。
再次,在A列的左侧插入一个新列,并填充从1到数据末尾的系列。突出显示整个数据区域并按B列排序(实际数据的第一列)。这会将所有空行组合在一起。接下来,再次突出显示数据区域,然后按列A重新排序。空行消失,您的数据将恢复为原始顺序。最后,删除A列。
简单的方法:在一个空闲列(例如列A)中填充前3行,用2,4,6自动填充列到数据的末尾。最后,用1,3,5自动填充填充接下来的3行,你现在选择数据相同的数量,data-> sort-> A将你的数据排序为1,(空)2(数据) )3()空
;)