• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

OptionButton_Sayfada_ActiveX

  • Konbuyu başlatan Konbuyu başlatan ikikan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
3 Mart 2009
Mesajlar
519
Excel Vers. ve Dili
excel 2003 tr
Arkadaşlar şimdiden kolay gelsin, acaba ben bu kodların neresinde hata yapıyorum olmuyor?
örnek dosya ektedir..

class1

Kod:
Public WithEvents Optbox As MSForms.OptionButton
'Private WithEvents Optbox As MSForms.OptionButton

Private Sub Optbox_Change()
Dim ctl As MSForms.OptionButton
        If Optbox.Value = True Then
             Optbox.BackColor = RGB(255, 0, 0)
             For Each ctl In Optbox.Parent.Controls
                     If TypeName(ctl) = "OptionButton" Then
                             If ctl.Value = False Then
                                     ctl.BackColor = vbButtonFace
                             End If
                     End If
             Next
     End If



End Sub

Private Sub Optbox_Click()
Cells(1, 1) = Optbox.Name
End Sub

modül

Kod:
Dim Opt(1 To 5) As New Class1 ' change 5 to number of optionButtons

Sub Opt_Kon()
Dim ctl As OLEObject
Dim i As Long
     For Each ctl In Sheets("X").OLEObjects
             If TypeName(ctl) = "OptionButton" Then
                     i = i + 1
                        
                     Set Opt(i) = New Class1
                     Set Opt(i).Optbox = ctl
 
             End If
     Next

End Sub


sayfa

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call Opt_Kon
Cells(2, 1) = "FFFF"

End Sub
 

Ekli dosyalar

class
Option Explicit
Public WithEvents Optbox As MSForms.OptionButton

Private Sub Optbox_Click()
Dim x As Variant
Dim Baslik As String
Dim Rakam As String
Rakam = vbNullString
Baslik = Optbox.Caption
For x = 1 To Len(Baslik)
If IsNumeric(Mid(Baslik, x, 1)) Then
Rakam = Rakam & Mid(Baslik, x, 1)
End If
Next
Cells(2, 1) = CByte(Rakam)
Cells(1, 1) = Optbox.Caption
End Sub

sayfa
Option Explicit

Dim OAK As Collection

Private Sub Worksheet_Activate()

Dim Olay As Class1
Dim SaNe As Shape
Set OAK = New Collection
For Each SaNe In Shapes
If SaNe.Type = msoOLEControlObject Then
If TypeOf SaNe.OLEFormat.Object.Object Is MSForms.OptionButton Then
Set Olay = New Class1
Set Olay.Optbox = SaNe.OLEFormat.Object.Object
OAK.Add Olay
End If
End If
Next
End Sub


şimdilik bu şekilde oldu arkadaşlar... Ama hala texbox veya labelalmıyor?
 
Son düzenleme:
Arkadaşlar bu ismi labele veya texbox a nasıl yazdıra bilirim hücreye yazıyor ama texbox veya label de sorun var?
 
Geri
Üst