假設我有以下值:
A2=a, A5=b, A6=c, A10=d
基本上我想要完整地降低以前的值,如下所示:
A2:A4=a,A5=b, A6:A9=c,A10:A99999=d
我嘗試了這個:我在右側插入了一個新列,並執行了類似的操作:=IF(A2="",A1,A2)
但這僅適用於B 列上的前2 個實例,因為存在更多間隙,並且間隙數量並不總是相同。我顯然錯過了一些東西。
謝謝。
答案1
答案2
試試這個簡短的宏:
Sub FillDown()
Dim rng As Range, r As Range
Set rng = Range("A2:A99999")
Application.ScreenUpdating = False
For Each r In rng
v = r.Value
If v = "" Then r.Value = r.Offset(-1, 0)
Next r
Application.ScreenUpdating = True
End Sub
巨集非常容易安裝和使用:
- ALT-F11 調出 VBE 窗口
- ALT-I ALT-M 開啟新模組
- 將內容貼進去並關閉 VBE 窗口
如果儲存工作簿,巨集將隨之儲存。如果您使用的是 2003 年以後的 Excel 版本,則必須將檔案另存為 .xlsm 而不是 .xlsx
若要刪除巨集:
- 如上所示調出 VBE 窗口
- 清除程式碼
- 關閉VBE視窗
要使用 Excel 中的巨集:
- ALT-F8
- 選擇巨集
- 觸摸運行
要了解有關巨集的更多信息,請參閱:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
必須啟用巨集才能使其工作!