• DİKKAT

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

Kodu ToggleButton'a Atamak

  • Konbuyu başlatan Konbuyu başlatan 1Al2Ver
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Merhaba,

Aşağıda 2 ayrı CommandButton'daki kodları, tek bir ToggleButton'a atamak mümkün mü ?

ToggleButton'daki ifade de, birincisinde "Kırmızı" değiştiğinde de "Mavi" olabilir mi ?

Teşekkür ederim.

Kod:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
  Dim rng As Range, ix As Long
  Set rng = Intersect(Range("A:A"), ActiveSheet.UsedRange)
  For ix = rng.Count To 1 Step -1
      If rng.Item(ix).Interior.ColorIndex = 3 Then
        rng.Item(ix).Interior.ColorIndex = 5
      End If
  Next
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
End Sub

Kod:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
  Dim rng As Range, ix As Long
  Set rng = Intersect(Range("A:A"), ActiveSheet.UsedRange)
  For ix = rng.Count To 1 Step -1
      If rng.Item(ix).Interior.ColorIndex = 5 Then
        rng.Item(ix).Interior.ColorIndex = 3
      End If
  Next
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
End Sub
 
Merhaba,
Aşağıdaki kodu dener misiniz?
Kod:
Private Sub ToggleButton1_Click()
Dim rng As Range, ix As Long

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set rng = Intersect(Range("A:A"), ActiveSheet.UsedRange)
rng.Interior.ColorIndex = 3

If ToggleButton1.Value = False Then
  For ix = rng.Count To 1 Step -1
      If rng.Item(ix).Interior.ColorIndex = 3 Then
        rng.Item(ix).Interior.ColorIndex = 5
      End If
  Next
Else
  For ix = rng.Count To 1 Step -1
      If rng.Item(ix).Interior.ColorIndex = 5 Then
        rng.Item(ix).Interior.ColorIndex = 3
      End If
  Next
End If
  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Sayın dEdE, merhaba,

Öncelikle ilginiz için teşekkür ederim,

Sütunda (A:A) mavi ve kırmızı dahil bir kaç renk var, ben 2 adet commandbutton ile bunlardan, mavi olanı kırmızı, kırmızı olanı da mavi yapıyorum, diğer renkler sabit kalıyor,

Sizin kod ise, butona tıklandığında ; alandaki tüm renkleri değiştirip, ilkin de tümünü kırmızı , diğer tıklamada ise mavi yapıyor,

Rica etsem sütundaki sadece mavi ve kırmızı olanları kendi aralarında değiştirebilir mi ?

Bir de togglebutton'un üzerindeki yazı "ToggleButton1" yerine değiştikçe "kırmızı yap" ve " mavi yap" olabilir mi ?

Teşekkür ederim.
 
Merhaba,
Bir de bunu dener misiniz?
Kod:
Private Sub ToggleButton1_Click()
Dim rng As Range, ix As Long

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set rng = Intersect(Range("A:A"), ActiveSheet.UsedRange)

If ToggleButton1.Value = False Then
ToggleButton1.Caption = "Kırmızı Yap"
  For ix = rng.Count To 1 Step -1
      If rng.Item(ix).Interior.ColorIndex = 3 Then rng.Item(ix).Interior.ColorIndex = 5
  Next
Else
ToggleButton1.Caption = "Mavi Yap"
  For ix = rng.Count To 1 Step -1
      If rng.Item(ix).Interior.ColorIndex = 5 Then rng.Item(ix).Interior.ColorIndex = 3
  Next
End If

  Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
End Sub
 
Sayın dEdE tekrar merhaba,

Yeni kod ile sorunum çözüldü, teşekkür ederim,

Kurban Bayramı'nızı da kutlarım, tüm sevdiklerinizle birlikte nicelerine kavuşmanızı dilerim.

Saygılarımla.
 
Geri
Üst