2017-02-22 118 views
0

我有一個表名爲「Character」的列,其中包含名稱列表。我有一個不在表格之外的常量,我想檢查它,如果匹配,我想在名爲「Action」的列中放一個名爲「period_selected」的常量。嘗試在基於不同範圍的值的範圍內輸入值

這是我到目前爲止有:

Sub Action() 
    ' Set objects 
    Dim rng As Range, char As Range 
    Set rng = Range("Table1[Character]") 

    ' Loop through Character column 
    For Each char In rng 
     'If character is the Active Player, 
     If char = Range("Active_Player") Then 
     'enter the period_selected value in Action column    
     Else 
     End If 
    Next char 
End Sub 

所以我想不通的部分是如何操作列中應用的價值,同時通過字符列循環。

這是我第一次嘗試寫這些東西的深度,所以我覺得我有點頭大。所有的幫助表示讚賞。

謝謝!

+0

我想你可以只使用'Offset',例如'偏移量(,1)'如果行動是下一列在右邊.. – SJR

回答

0

一個可行的辦法:

If char.Value = Range("Active_Player") Then Intersect(Range("Table1[Action]"), char.EntireRow).Value = "period_selected" '   

而更優雅的方式將使用ListObject對象

+0

您是否在意詳細說明?就像我剛纔說的,我只是在學習,我不熟悉'ListObject'。 – Awspry

+0

如果你想了解'ListObject'對象,你有很多網絡資源,只是一個谷歌遠離你。但是我提供的代碼爲你工作? – user3598756

+0

不,它不工作。我調整了你的代碼以找到一些錯別字和我正在尋找的東西,並且有這個: 'If char = Range(「Active_Player」)然後Range(「Table1 [Action]」).Rows(char.Row-1) .Value = Range(「period_selected」)' 但是當我運行時沒有任何反應。如果我將-1取出,它會在我所期望的值的下面輸入2行。 – Awspry