2014-02-07 52 views
0

我正在嘗試使用VB.NET和Sheet2上的數據將數據驗證添加到電子表格。我可以用Sheet和Sheet2上需要的數據打開工作簿,但是我遇到的問題是在Sheet1上填充數據驗證下拉列表。我試圖在列A和Sheet1的前700行中創建數據驗證,並且Sheet2上的數據將位於列A中,前800行。使用vb.net將數據驗證添加到Excel電子表格中

我已經嘗試了以下,它創建了數據驗證,它只有一個值 - 「Sheet2」 - 因爲我實際上並沒有在這裏放置一個公式。

With xlsSheet 'worksheet 
    .Range(String.Concat("Sheet1!$A$2:$A$700")).Validation.Add(XlDVType.xlValidateList, & _ 
    Formula1:="Sheet2") 
End With 

當我嘗試以下方法,它創建Excel工作表與列在Sheet2上的數據,但它不創建數據驗證。

With xlsSheet 'worksheet 
    .Range(String.Concat("Sheet1!$A$2:$A$700")).Validation.Add(XlDVType.xlValidateList, & _ 
    Formula1:="=Sheet2!$A$2:$A$800") 
End With 

我一直在尋找在線的例子,發現http://www.get-digital-help.com/2011/10/05/add-values-to-a-data-validation-list-vba/但這也並沒有爲我工作。

如何從A2:A700將sheet2中A2:A800的數據轉換爲sheet1上的數據驗證?

任何幫助,將不勝感激。

回答

0

如果有人想知道解決這個,這裏是我做過什麼:

我首先創建了一個名爲集,我會用在資料驗證下拉參考。

workbooks.Names.Add(Name:="Working", RefersToR1C1:="=Work2!R2C1:R700" & "C1") 
'Named set needed for data validation. 

With xlsSheet 
    .Range("Work1!$A$2:$A$700").Validation.Add(XlDVType.xlValidateList, Formula1:="=Working") 
End With 

在上面的代碼中你可以看到工作1是我要插入的數據驗證下拉在工作表的名稱命名的範圍正從WORK2數據 - 我的第二個表。

相關問題