我是這個論壇的新手,請耐心等待。VBA Excel - 以特定間隔刪除行
我有一個CSV文件,我需要應用一些VBA模塊來獲取我需要的信息。
總之,我有3個宏一起以下:
- 創建一個新的行每20列
- 採取從上述(A列)細胞的數量和填補空白空間這個數字的新行。
- 從新行之前的20行中求和H列中的數字以獲得總分。只要新行出現(每20行),隨後就會完成此操作。
是否有可能在一個宏中獲得這三個宏?這樣可以更輕鬆地交給可能需要使用這些宏的其他人。
當前代碼:
' Step 1
Sub Insert20_v2()
Dim rng As Range
Set rng = Range("H2")
While rng.Value <> ""
rng.Offset(20).Resize(1).EntireRow.Insert
Set rng = rng.Offset(21)
Wend
End Sub
' Step 2
Sub FillBlanks()
Columns("A:A").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]C"
End Sub
' Step 3
Sub AutoSum()
Const SourceRange = "H"
Dim NumRange As Range, formulaCell As Range
Dim SumAddr As String
Dim c As Long
For Each NumRange In Columns(SourceRange).SpecialCells(xlConstants, xlNumbers).Areas
SumAddr = NumRange.Address(False, False)
Set formulaCell = NumRange.Offset(NumRange.Count, 0).Resize(1, 1)
formulaCell.Formula = "=SUM(" & SumAddr & ")"
'change formatting to your liking:
formulaCell.Font.Bold = True
formulaCell.Font.Color = RGB(255, 0, 0)
c = NumRange.Count
Next NumRange
End Sub
感謝您的任何幫助。 最佳,
黑爾格
我會用@ RCaetano的方法,因爲最好讓你的功能保持在最低限度。這樣可以更容易維護和重複使用 –