我在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