Board logo

標題: [發問] 組合方塊相關問題 [打印本頁]

作者: caichen3    時間: 2012-5-4 10:54     標題: 組合方塊相關問題

如何在sheet3工作表range("E2:I7")中新增30個comboBox(藍色區域),並且新增的範圍會因"客戶真正需求"與"品質特性"輸入個數不同而改變範圍,
例如:7項客戶需求、3項品質特性,在range("E2:G8")中新增21個comboBox
sheet3.range("A1").value表示"客戶真正需求"的個數值
sheet3.range("A2").value表示"品質特性"的個數值
作者: Hsieh    時間: 2012-5-4 14:08

本帖最後由 Hsieh 於 2012-5-4 16:17 編輯

回復 1# caichen3


下拉清單內容是那些?
作用時機?問題請描述清楚
先以更改Sheet3!A1:A2數值為例,自己依需求更改
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim Ar()
  3. If Intersect(Target, [A1:A2]) Is Nothing Then Exit Sub
  4. Application.ScreenUpdating = False
  5. r = [A1]  '列數
  6. K = [A2]  '欄數
  7.     For Each C In Sheet1.[B2].Resize(r, 1)  '增加清單內容(客戶真正需求)
  8.       ReDim Preserve Ar(s)
  9.       Ar(s) = C.Value
  10.       s = s + 1
  11.     Next
  12.     For Each C In Sheet2.[E2].Resize(, K) '增加清單內容(品質特性)
  13.       ReDim Preserve Ar(s)
  14.       Ar(s) = C.Value
  15.       s = s + 1
  16.     Next

  17. Me.OLEObjects.Delete
  18. For i = 1 To r
  19.     For j = 1 To K
  20.     Set a = Cells(i + 1, j + 4)
  21.     With Me.OLEObjects.Add(ClassType:="Forms.ComboBox.1")  '插入物件
  22.     .Top = a.Top
  23.     .Left = a.Left
  24.     .Height = a.Height
  25.     .Width = a.Width
  26.     .LinkedCell = a.Address
  27.     .Object.List = Ar
  28.     End With
  29.     Next
  30. Next
  31. Application.ScreenUpdating = True
  32. End Sub
複製代碼

作者: caichen3    時間: 2012-5-5 13:08

回復 2# Hsieh
感謝H大大的熱心回復:)
作用時機: sheet1輸入完客戶需求按下"確定"(m個客戶需求),sheet2輸入完品質特性按下"確定"後(n個品質特性),
                   sheet3就從[B2]產生m列,從[E1]產生n行,並且從[E2]產生m*n個組合方塊
組合方塊內容: 9 , 6,3




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)