2015-12-06 39 views
0

道歉,如果這已被問到某處!創建整個數字的動態下拉列表

我想在Excel中創建動態下拉列表,其中唯一可用的選項是1和x之間的整數,其中x是任何整數(通常不會大於20左右)。 x由該行另一個單元格中的值定義。

所以理想情況是我有一個2列表,其中一列有整數x(表示列表的最大值),並且旁邊的列將具有1和x之間的下拉菜單。

因此,創建數據驗證下拉菜單時需要使用的公式是什麼。一些代表:

低於「最低1範圍和最大x之間的所有整數」是它會怎樣看一個例子: Example

謝謝!

回答

1

非VBA方式

第一列表向下1至20上的列d,作爲最高只有20

然後選擇B2和添加驗證,列表 - > = OFFSET($ d $ 1,0 ,0,A2,1)

然後,您可以將B2複製到B3,B4,...等等,它會相應地工作。

enter image description here

0

DV需要一系列單元格或逗號分隔的字符串。因此:

Sub qwerty() 
    Dim N As Long, i As Long 
    N = Application.InputBox(Prompt:="Number ?", Type:=1) 
    dv_string = "1" 

    For i = 2 To N 
     dv_string = dv_string & "," & i 
    Next i 

    With Selection.Validation 
     .Delete 
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
     xlBetween, Formula1:=dv_string 
     .IgnoreBlank = True 
     .InCellDropdown = True 
     .InputTitle = "" 
     .ErrorTitle = "" 
     .InputMessage = "" 
     .ErrorMessage = "" 
     .ShowInput = True 
     .ShowError = True 
    End With 

End Sub 

編輯#1:

宏是很容易安裝和使用:

  1. ALT-F11帶來了VBE窗口
  2. ALT-I ALT-M打開一個新模塊
  3. 粘貼東西並關閉VBE w indow

如果保存工作簿,宏將與其一起保存。 如果您在2003年以後使用的是Excel版本,則必須將該文件保存爲.xlsm而非 。XLSX

刪除宏:

  1. 彈出VBE窗口如上
  2. 清晰的代碼進行
  3. 關閉VBE窗口

使用的來自Excel的宏:

  1. 選擇到其中的下拉應輸入
  2. ALT-F8
  3. 小區選擇宏
  4. 觸摸RUN

要了解更多關於一般的宏,請參閱:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必須啓用宏才能使其工作!

+0

喜加里的學生,感謝您的答覆。所以這將被添加到vba編輯器?我會爲每個細胞做些什麼?你可能需要爲我拼出來,因爲我對此很陌生!我在原始帖子中添加了一個示例截圖,以防不清楚我要求的內容。謝謝 – cosmo

+0

@cosmo看我的**編輯#1 ** –

+0

啊沒關係,這是有道理的!好吧,我已經做到了,現在理解它是如何工作的。它提示我輸入它應該鏈接的單元格。有沒有辦法讓這個自動化,因爲我需要這個列來自動填充下拉菜單,當它的左側的數據(所以最大整數)更新。鏈接的單元格始終是它的左邊的單元格。所以假設下拉爲B3,鏈接單元格爲A3。而對於B4,它會是A4等等等等。有沒有一種方法可以自動化?謝謝! – cosmo