2016-02-04 33 views
0

我正在編寫一個腳本來根據列的列標題/第一個值填充列的值。在這種情況下,我希望腳本識別標題爲「||」的所有列並填寫到表格的當前區域。如何讓選定的列(基於列標題)填充到工作表的最後一行?

我有以下,但不是填寫所有列我只想列「||」在標題中。在這些陳述中可以添加一個條件嗎?還是有更好的方法?

Sub FillCellsFromAbove() 
Option Explicit 


On Error Resume Next 


With Columns 
.SpecialCells(xlCellTypeBlanks).formula = "=R[-1]C" 
.Value = .Value 
End With 
Err.Clear 
End Sub 

截圖電子表格:Imgur:互聯網上最真棒圖像

而且,||列不盡相同。有時可能有3個,其他時間可能是6+

+1

遍歷所有列並檢查標題。 – findwindow

+2

或者您可以在第一行使用find和findnext。 –

+0

Option Explicit不用***內部***過程,但在模塊的頂部。另外,正如您之前所詢問的,請縮進您的代碼以使其更易於閱讀。 – teylyn

回答

1
Sub FillCellsFromAbove() 
Dim lColumn As Long, yes As Integer 

lColumn = Cells(1, Columns.Count).End(xlToLeft).Column 
For i = 1 To lColumn 
    yes = InStr(Cells(1, i).Value, "||") 

    If yes <> "0" Then 
     'Add code to fill in the column 
    End If 
Next i 
End Sub 
+0

謝謝,我修改了你的代碼。 – Zeta

+0

太棒了,很高興我能幫到你! – justkrys

0

感謝你,修改你的代碼,它的工作到目前爲止。

For i = 1 To lColumn 
    yes = InStr(Cells(1, i).Value, "||") 
    If yes <> 0 Then 
    Set Filldown = Range(Cells(1, i), Cells(lrc, i)) 
    Filldown.Select 
    Selection.Filldown 
    End If 
Next i 
相關問題