2
我对vba知之甚少,所以我希望有人能帮助我。将循环添加到excel的vba代码中
我在下面有下面的代码,它“用上面的值填充列中的空白单元格”并且工作正常。
我需要在非连续的色彩上使用它。 有没有办法给它添加一个循环,以便它可以在[B D H I]列上运行?
我已经tryed到puzzel这一点还没有得到任何地方
感谢
Sub FillColBlanks()
'by Dave Peterson 2004-01-06
'fill blank cells in column with value above
'http://www.contextures.com/xlDataEntry02.html
Dim wks As Worksheet
Dim rng As Range
Dim Lastrow As Long
Dim col As Long
Set wks = ActiveSheet
With wks
'col = ActiveCell.Column
'or
col = .Range("G2").Column
Set rng = .UsedRange 'try to reset the lastcell
Lastrow = .Cells.SpecialCells(xlCellTypeLastCell).Row
Set rng = Nothing
On Error Resume Next
Set rng = .Range(.Cells(2, col), .Cells(Lastrow, col)) _
.Cells.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "No blanks found"
Exit Sub
Else
rng.FormulaR1C1 = "=R[-1]C"
End If
'replace formulas with values
With .Cells(1, col).EntireColumn
.Value = .Value
End With
End With
End Sub
+ 1那么如果你隐藏除B,D,H之外的所有列,然后我可以将它们视为一个范围?这会阻止你一次又一次地调用'FillColBlanks'?只是一个想法... – 2013-04-26 15:21:09
谢谢菲利普,工作完美! – xyz 2013-04-26 19:18:29