2015-06-23 26 views
0

我有一個複製函數,但它在通過包含合併單元格的標題/標題信息的工作表進行復制時無效。有沒有辦法告訴VBA開始5行後尋找(這樣的數據在行開始6)修復複製函數以包含標題/合併單元格

下面是代碼:

Sub FillAtoF() 
For Each Area In Columns("A:F").SpecialCells(xlCellTypeBlanks) 
    If Area.Cells.Row <= ActiveSheet.UsedRange.Rows.Count Then 
     Area.Cells = Range(Area.Address).Offset(-1, 0).Value 
    End If 
Next Area 

佔據1-5行和列的工作表已合併單元格AF

請指教! :)

回答

1

這將設置你的範圍在6行年底開始在列數據末尾的

Sub FillAtoF() 
Dim lastrow As Integer 
lastrow = Cells(Rows.Count, "A").End(xlUp).Row 

Dim rng As Range 
Set rng = Range(Cells(6, "A"), Cells(lastrow, "F")) 

For Each c In rng 
    'if stuff 
Next 

End Sub 

我不知道你的if是做什麼的,但你可以做到這一點範圍內的for循環。或者一排一排地走。或面積按面積。

我猜你有什麼會是這樣 -

Sub FillAtoF() 
Dim lastrow As Integer 
lastrow = Cells(Rows.Count, "A").End(xlUp).Row 

Dim rng As Range 
Set rng = Range(Cells(6, "A"), Cells(lastrow, "F")) 

For Each Area In rng.SpecialCells(xlCellTypeBlanks) 
     Area.Cells = Range(Area.Address).Offset(-1, 0).Value 
Next Area 

End Sub 
+0

謝謝,這似乎已經完成了招 –