我在Excel中的一个列表,看起来像:如何根据其他单元格中的值在Excel中插入空行?
1990年 1994年 1995年 1999年
有没有办法在每行之间自动插入一行明年(如三列1990年后)?有没有办法改变插入的行数?
谢谢。
我在Excel中的一个列表,看起来像:如何根据其他单元格中的值在Excel中插入空行?
1990年 1994年 1995年 1999年
有没有办法在每行之间自动插入一行明年(如三列1990年后)?有没有办法改变插入的行数?
谢谢。
试试这个...为我工作用Excel 2013:
Sub SplitYears()
'
' SplitYears Macro
'
' Keyboard Shortcut: Ctrl+Shift+S
'
Dim NumRows As Integer
NumRows = ActiveCell.Offset(1).Value - ActiveCell.Value - 1
If NumRows < 1 Then
Exit Sub
End If
Rows(ActiveCell.Offset(1).Row & ":" & ActiveCell.Offset(NumRows).Row).Select
Selection.Insert
End Sub
单击列表中的第一年,然后触发宏。它应该在活动单元格和下一行中的年份之间插入适当数量的空行。
编辑:再次添加SplitAllYears
使用光标在第一年的启动列表中,这应该通过和空间了所有的多年在列。
Sub SplitAllYears()
'
' SplitAllYears Macro
'
' Keyboard Shortcut: Ctrl+Shift+A
'
Dim NumRows As Integer
Dim StartPoint As String
Beginning:
NumRows = ActiveCell.Offset(1).Value - ActiveCell.Value - 1
StartPoint = ActiveCell.Address
If ActiveCell.Value = "" Then
Exit Sub
End If
If (NumRows < 1) Then
Range(StartPoint).Offset(1).Select
GoTo Beginning
End If
Rows(ActiveCell.Offset(1).Row & ":" & ActiveCell.Offset(NumRows).Row).Select
Selection.Insert
Range(StartPoint).Offset(NumRows + 1).Select
GoTo Beginning
End Sub
这很好。有没有什么办法可以让它在列中进一步发挥作用? – user3362984
在原答案中添加了“SplitAllYears”。希望这就是你要找的! 编辑:坚持...进一步测试发现了一个错误。给我几个... – TesseractE
好的,bug应该解决! – TesseractE
是的,你可以,我几乎肯定唯一的办法是vba。那可以吗? –
VBA很好。宏观工作会改变吗?谢谢:) – user3362984