2017-03-22 84 views
-1

我需要在數據驗證中填充數據。我使用下面的代碼。Excel數據驗證不包括空白單元格錯誤

Dim IntRow As Integer, IntLastRow As Integer 
Dim Txt As String 

With Sheet2 

IntLastRow = .Cells(Rows.Count, 6).End(xlUp).Row 


For IntRow = 10 To IntLastRow 

    If Not IsEmpty(.Cells(IntRow, 6)) Then 


     Txt = Txt & .Cells(IntRow, 6) & "," 
    End If 
Next IntRow 
End With 

Txt = Left(Txt, Len(Txt) - 1) 


With Sheet1.Range("E4").Validation 

.Delete 
.Add _ 
Type:=xlValidateList, _ 
AlertStyle:=xlValidAlertStop, _ 
Operator:=xlBetween, _ 
Formula1:=Txt 
End With 

有數百個數據要插入到下拉列表中。但數據之間有空白單元格。此代碼工作正常,直到我保存並重新打開它會給出錯誤。它在修復工作簿時自動刪除數據驗證。

回答

0

如果您使用手動列表,則存在256個字符的長度限制。如果你想在下拉菜單中輸入更多的條目,你應該參考一個範圍。

比如,你可以使用你現有的列,並按照此忽略空白單元格: Simple way to remove blank cells dynamic dropdown list Excel

+0

你給的鏈接是在底部留下的空白單元格。有沒有需要創建另一列的任何直接方式?目前我正在使用組合框,但如果有辦法做到這一點,我想更改爲數據驗證。 –

+0

稍後在鏈接中有關於如何跳過空白單元格的信息(http://blog.contextures.com/archives/2014/02/27/dynamic-list-with-blank-cells/),但它涉及添加其他列。 – bioschaf