Tema: Excel VBA
View Single Post
Staro 13.09.2022., 16:14   #19
mradovan
Registered User
Moj komp
 
mradovan's Avatar
 
Datum registracije: Jun 2017
Lokacija: Pula
Postovi: 110
Citiraj:
Autor Slađa Pregled postova
Znaci, imam nekih 300 checkboxeva u excelu. Kod svake neke analize, moram poklikati drugi broj checkboxeva. Za pocetak sam napravila jedan checkbox koji ih oznaci sve da ne moram klikati 300 puta ako je za tu analizu potreban broj 300.
I to mi radi ako treba oznaciti sve.
Medutim, dogodi se da sljedeci put moram kliknuti samo prvih 30, a ostalih 270 ne.
Koliko ih moram kliknuti, govori mi vrijednost u celiji E16.

Moj kod je bio :

Sub SelectAll Click()
Dim xCheckBox As CheckBox

For Each xCheckBox In Application.ActiveSheet.CheckBoxes
If xCheckBox.Name <> Application.ActiveSheet.CheckBoxes (“Check Box 471”.Name Then
xCheckBox.Vakue= Application.ActiveSheet.CheckBoxes (Check Box 481”). Value
End If
Next
End Sub

Mislila sam da moram uglaviti funkciji for i=1 To Range (“E16”)
Samo kako nisam strucnjak u tome… ne znam kako da uglavim da kad kliknem na celiju Select All, da ih oznaci samo onoliko kolika je vrijednost u celiji E16, npr 15.
Ako ne znaš kako se Check Boxes zovu, možeš na relativno neelegantan ali jednostavan način ubaciti counter koji prestaje označavati Check Boxove kad vrijednost pređe onu specificiranu u E16.

Code:
Sub SelectSome Click()
  Dim xCheckBox As CheckBox

  Dim i as Integer
  i = 0

  For Each xCheckBox In Application.ActiveSheet.CheckBoxes
    If (i < Range("E16").Value) Then
      xCheckBox.Value = True			
    End If
    i = i + 1
  Next
End Sub
mradovan je offline   Reply With Quote