標題:
[發問]
CheckBox 及 optionbutton 點選選項後 可否設計帶出textbox 輸入資料
[打印本頁]
作者:
user999
時間:
2012-7-25 15:17
標題:
CheckBox 及 optionbutton 中選項 可否設計成 來源取excel表格某欄位
請教各位 CheckBox 及 optionbutton 中選項 可否設計成 來源取excel表格某欄位,如附件說明
懇請諸位幫忙 謝謝!
作者:
GBKEE
時間:
2012-7-25 17:46
回復
1#
user999
Option Explicit
Private Sub UserForm_Initialize()
Dim LeftPos As Integer, TopPos As Integer, NewHeight As Integer, NewWidth As Integer, Rng As Range, H As Integer, i As Integer
Dim NewOptionButton As MSForms.Control
H = 1
NewHeight = 15
With Sheet1
With .Columns(1)
Set Rng = Sheet1.Range(.Cells(2), .Cells(2).End(xlDown))
ComboBox1.List = Rng.Value
End With
With .Columns(2)
Set Rng = Sheet1.Range(.Cells(2), .Cells(2).End(xlDown))
NewWidth = (Frame2.Width - (Rng.Count * H)) / Rng.Count
TopPos = (Frame2.Height - NewHeight) / 2
For i = 1 To Rng.Count
LeftPos = 1 * H + (i - 1) * NewWidth
Set NewOptionButton = _
Frame2.Controls.Add("forms.OptionButton.1")
With NewOptionButton
.Width = NewWidth
.Caption = Rng.Cells(i)
.Height = NewHeight
.Left = LeftPos
.Top = TopPos
.AutoSize = True
End With
Next
End With
With .Columns(3)
Set Rng = Sheet1.Range(.Cells(2), .Cells(2).End(xlDown))
NewWidth = (Frame3.Width - (Rng.Count * H)) / Rng.Count
TopPos = (Frame3.Height - NewHeight) / 2
For i = 1 To Rng.Count
LeftPos = 1 * H + (i - 1) * NewWidth
Set NewOptionButton = _
Frame3.Controls.Add("forms.CheckBox.1")
With NewOptionButton
.Width = NewWidth
.Caption = Rng.Cells(i)
.Height = NewHeight
.Left = LeftPos
.Top = TopPos
.AutoSize = True
End With
Next
End With
End With
End Sub
複製代碼
作者:
user999
時間:
2012-7-26 07:56
回復
2#
GBKEE
看到您的回答,簡直要痛哭流涕,工作上的瓶頸,在此都能穫得解決,這兒真是好,謝謝您,
也感謝大家,要怎樣像您們一半強,每次多麻煩大家,真感恩!
作者:
user999
時間:
2012-7-26 08:24
回復
2#
GBKEE
再請教一下
忘了提到附件中另一問題就是,
1.所點選的值要帶回excel工作表中,看了程式碼,我不知從何做起,
2.假設原程式已有forms.OptionButton.1....n 那如何Frame2.Controls.Add("forms.OptionButton.")如何判定放在最後,
同問題Frame3.Controls.Add("forms.CheckBox.1")\
謝謝您們的幫助
作者:
user999
時間:
2012-7-26 08:43
回復
2#
GBKEE
另一問題 optionbutton 及 checkbox 內容一多起來,
在fram2,,fram3中,所有的option僅一行會顯示(壓縮會看不到,)
如何讓它換行
及fram能自動縮放或是設option checkbox 各最大直個數30,(不可能無,限頁面也無法呈現)
麻煩大家了
作者:
GBKEE
時間:
2012-7-26 17:41
本帖最後由 GBKEE 於 2012-7-26 17:44 編輯
回復
5#
user999
另一問題 optionbutton 及 checkbox 內容一多起來,在fram2,,fram3中,所有的option僅一行會顯示(壓縮會看不到,)如何讓它換行
如果多到Frame2 或 Frame3 換行後還是容不下去該如何處置?
所以建議你在 Frame2 用ComboBox 控制項 單選 , Frame3 用ListBox 控制項 可複選
作者:
Hsieh
時間:
2012-7-26 19:21
回復
5#
user999
試試看附件是否符合?
[attach]11845[/attach]
作者:
user999
時間:
2012-7-27 08:02
回復
7#
Hsieh
非常感謝大家,這個真的好用,也看到我沒學過class類別,看來要好好研究一般,謝謝大家拉我一把,這兒的每個主題都有寶,因為有太多熱心的高手在此幫忙,謝謝您們!
作者:
user999
時間:
2012-8-1 08:35
標題:
CheckBox 及 optionbutton 點選選項後 可否設計帶出textbox 輸入資料
請教各位先進:
CheckBox 及 optionbutton 點選選項後 可否設計帶出textbox 輸入資料
如附件
謝謝大家
作者:
GBKEE
時間:
2012-8-13 10:50
回復
1#
user999
類似的 型態 參考參考
[attach]12101[/attach]
作者:
user999
時間:
2012-8-13 15:54
回復
10#
GBKEE
謝謝您,這已幫助我很多,
只是,是否選 ListBox1 後 若要取消, 只能輸0表示,無法恢復未選狀態吧!
真羨慕您們的功力,
很想請教您們要如何練功(找書?),我來日問題才少一點,日後才有能力回饋一下別人,
謝謝!
作者:
GBKEE
時間:
2012-8-13 16:20
回復
11#
user999
ListBox1 後 若要取消, 只能輸0表示,無法恢復未選狀態吧!
修改如下
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim ListText As Integer, i As Integer
i = ListBox1.ListIndex
ListText = Val(ListBox1.List(i, 1))
ListText = Application.InputBox("請輸入數字 : ", ListBox1.List(i), ListText, Type:=1)
If ListText >= 0 Then
If ListText > 0 Then ListBox1.List(i, 1) = ListText '>0 輸入數值
If ListText = 0 Then ListBox1.List(i, 1) = "" '=0 清除內容
End If
Ar(ComboBox2.ListIndex) = Application.Transpose(Application.Transpose(ListBox1.List))
'品別陣列的索引之陣列 = ListBox1
ITEM(ComboBox1.ListIndex) = Ar '店別陣列的索引之陣列 = 品別陣列
顯示計數
End Sub
複製代碼
作者:
user999
時間:
2012-8-16 08:05
回復
12#
GBKEE
謝謝您的協助!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)