2014-06-13 87 views
0

我有一個會話,其中我嘗試將列表類型驗證放到不連續的範圍。列表範圍來自名稱(Range5)的另一張表。範圍驗證無效過程調用

With Range("storeRanges").Cells.Validation 

Dim ValidationList As Variant 
ValidationList = Sheet2.Range("Range5") 

    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ 
    Operator:=xlEqual, Formula1:=Join(ValidationList, ",") 

End With 

我上。新增線路「無效的過程調用或參數」。謝謝你的幫助!

+0

僅適用於1D陣列。分配給變體的範圍值始終爲2D。如果範圍是一列,轉置它;如果一排,轉置兩次。 – Rory

+0

是的,在此期間計算出來。解決:'.Add類型:= xlValidateList,AlertStyle:= xlValidAlertStop,_運算符:= xlEqual,Formula1:=「= Range5」' 我把'.Delete'放在'.Add'前面。 – e700k

+0

請不要在標題中寫[[已解決]] ......而應將答案作爲答案(而非評論)發佈,然後接受自己的答案。 –

回答

0

洙,解決方案是:

With Range("storeRanges").Cells.Validation 

Dim ValidationList As Variant 
ValidationList = Sheet2.Range("Range5") 

.Delete 
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ 
Operator:=xlEqual, Formula1:="=Range5" 

End With 

通知的.DeleteFormula1:="=Range5"