返回列表 上一主題 發帖

[發問] 如何用選項鈕方式來輸入資料?

回復 3# q1a2z5
UserForm程式碼
  1. Dim MyOp() As New Class1
  2. Private Sub UserForm_Initialize()
  3.     Dim E As MSForms.Control, OP As MSForms.OptionButton, i%
  4.     For Each E In Controls
  5.         If E.Name Like "Frame*" Then
  6.             For Each OP In E.Controls
  7.                 ReDim Preserve MyOp(i)
  8.                 Set MyOp(i).OP = OP
  9.                 i = i + 1
  10.             Next
  11.         End If
  12.     Next
  13. End Sub
複製代碼
使用物件類別模組
  1. Option Explicit
  2. Public WithEvents OP As MSForms.OptionButton
  3. Private Sub OP_Click()
  4.     Dim R As Range, C%
  5.     C = Right(OP.Parent.Name, 1)
  6.     With ActiveSheet
  7.         Set R = IIf(.Cells(1, C) = "", .Cells(1, C), .Cells(Rows.Count, C).End(3)(2, 1))
  8.             R = OP.Caption
  9.     End With
  10. End Sub
複製代碼
如圖

TOP

回復 5# q1a2z5
  1. Option Explicit
  2. Public WithEvents OP As MSForms.OptionButton
  3. Private Sub OP_Click()
  4.     Dim R As Range, C%
  5.     C = Right(OP.Parent.Name, 1) + 1
  6.     With ActiveSheet
  7.         Set R = IIf(.Cells(1, C) = "", .Cells(1, C), .Cells(Rows.Count, C).End(3)(2, 1))
  8.             R = OP.Caption
  9.     End With
  10. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2011-12-23 18:13 編輯

回復 7# dechiuan999
Dim MyOp() As New Class1    ->新的 Class1(物件類別模組)
MyOp() 為動態陣列
ReDim Preserve MyOp(i)  ->陣列維數下限新增到i  
              Preserve  -> 不改變陣列原有內容
Set MyOp(i).OP = OP  -> 新增的 MyOp(i).OP=OP
   
OP.Parent.Name   ->父層  Frame

TOP

        靜思自在 : 有智慧才能分辨善惡邪正;有謙虛才能建立美滿人生。
返回列表 上一主題