Centar za edukaciju-BiH



#1 26.11.2019 20:18
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,831


Predmet:excel vba promijeni button kad je pritisnut
Imamo listic lota na kojem biramo brojeve.

1. Kada pritisnem neki broj trebalo bi ga nekako oznaciti da je pritisnut, a kada ga opet pritisnemo onda ga odznacimo.

2. nisam znao napisati kod kojim cu otkriti koji je button pritisnut vec sam uneo svih 45 buttona pa za svaki gledam dali je pritisnut, dali postoji mogucnost neke provjere dali je neki gumb pritisnut?

hvala

Prilozi:
Informacije o tipu datoteke za:rar  loto.rar
Preuzimanja:255
Velicina datoteke:24.75 KB


zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 26.11.2019 20:19 od strane Avko. ↑  ↓

#2 26.11.2019 21:19
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,657


Predmet:Re: excel vba promijeni button kad je pritisnut
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     If ActiveCell.Interior.ColorIndex = 2 Then
  3.     ActiveCell.Interior.ColorIndex = 6
  4.     Else
  5.     ActiveCell.Interior.ColorIndex = 2
  6.     End If
  7. End Sub

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 28.11.2019 00:09
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,657


Predmet:Re: excel vba promijeni button kad je pritisnut
i sta bi.
radi li ovo ?
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 28.11.2019 11:55
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,831


Predmet:Re: excel vba promijeni button kad je pritisnut
ma jok, bice da nisam dobro objasnio sto mi treba ili nisam znao ni di staviti ovo tvoje ni kako pokrenuti.
Juce izgubi cijeli dan na stvar koju bi neko rjesio za minut.

Zakacicu primjer. Automatski se pokrene. Radi mi samo za broj 1, mijenja boju.
Trebam staviti za svaki buton_click to pa ce sve raditi.

Ono sto sam htio napraviti je da mi detektirati klikom misa koji je button pritisnut pa da promjeni boju, al dobro ce biti i ovako necemo komplicirat.

nego trebao bi jos i zamjenu stringa sa vrijednostima drugog stringa;

stringA="1,2,3,4,5,6,7" - odabrani brojevi
stringB="A,B,C,D,E,F,G" - svakom broju dodijelimo slovo

array(1,1)="A,C,D" - kombinacija
array(1,2)="A,C,F" - kombinacija

promjeniti array(1,1) tako da bude array(1,1)="1,3,4"
zamijeniti slova za brojeve

Prilozi:
Informacije o tipu datoteke za:rar  loto.rar
Preuzimanja:268
Velicina datoteke:35.26 KB


zivot je moja domovina.
Ovaj post je ureden 4 puta. Posljednja izmjena 28.11.2019 11:58 od strane Avko. ↑  ↓

#5 29.11.2019 20:14
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,657


Predmet:Re: excel vba promijeni button kad je pritisnut
PreuzmiIzvorni kôd (Visual Basic):
  1. Function string2array(Broj)
  2.    
  3.     Dim brojac As Long
  4.     Dim arr As Variant
  5.     Dim izborBrojevaTemp As String
  6.  
  7.     strBroj = Broj.Caption
  8.     '=== ako izborBrojeva nije prazan ===
  9.    If Not izborBrojeva = Empty Then
  10.         'ako je ponovljen broj
  11.        If InStr(1, izborBrojeva, strBroj) > 0 Then
  12.             arr = Split(izborBrojeva, ",")
  13.             For brojac = 0 To UBound(arr) - 1
  14.                 If arr(brojac) <> strBroj Then
  15.                     izborBrojevaTemp = izborBrojevaTemp & arr(brojac) & ","
  16.                 End If
  17.             Next brojac
  18.             izborBrojeva = izborBrojevaTemp
  19.             ukupnoBrojeva = ukupnoBrojeva - 1
  20.            
  21.             GoTo ispisi
  22.            
  23.         Else 'ako broj nije ponovljen
  24.            If ukupnoBrojeva = 20 Then
  25.                 MsgBox "Izabrali ste max. broj brojeva!"
  26.                 Exit Function
  27.             End If
  28.             izborBrojeva = izborBrojeva & strBroj & ","
  29.         End If
  30.    
  31.     Else
  32.         izborBrojeva = strBroj & ","
  33.     End If
  34.    
  35.     arr = Split(izborBrojeva, ",")
  36.     ukupnoBrojeva = UBound(arr)
  37.    
  38. ispisi:
  39.     UserForm1.TextBox2.Value = "": UserForm1.TextBox2.Value = ukupnoBrojeva
  40.            
  41.     If Len(izborBrojeva) > 0 Then
  42.         UserForm1.TextBox1.Value = ""
  43.         UserForm1.TextBox1.Value = Left(izborBrojeva, Len(izborBrojeva) - 1)
  44.     Else
  45.         UserForm1.TextBox1.Value = ""
  46.     End If
  47.  
  48. End Function

kad radis sa form2 kontrolama.
ovo stavi na sve tastere
samo kopiras umjesto tvog koda.

PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub CommandButton1_Click()
  2.    Dim Broj As CommandButton
  3.    Set Broj = Me.ActiveControl
  4.    Call string2array(Broj)
  5.    Call ButtonCaptions(Broj)
  6. End Sub

Sad mi je jasnije malo sta hoces.
Mozda bi se brojevi mogli automatizirati
da kompjuter sam odabere brojeve.
Neznam dali bi ti to pasalo.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 3 puta. Posljednja izmjena 01.12.2019 23:03 od strane Avko. ↑  ↓

#6 29.11.2019 23:27
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,657


Predmet:Re: excel vba promijeni button kad je pritisnut
PreuzmiIzvorni kôd (Visual Basic):
  1. Function broj_slovo(broj As String)
  2. Dim broj_int As Integer
  3. Dim i As Integer
  4. Const str = "ABCDEFG"
  5.  
  6. broj_int = Int(broj)
  7. If broj_int > 0 Then
  8.     For i = 1 To 7
  9.         If i = broj_int Then
  10.         broj_slovo = Mid(str, i, 1)
  11.         Exit For
  12.         End If
  13.     Next i
  14. End If
  15. End Function
a ti se sam snadji kako impementirati

napisao si da je i broj string.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 01.12.2019 11:58
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: excel vba promijeni button kad je pritisnut
@Avko, ne mogu otvoriti ovo tvoje, spakuj u zip

Jednostavnije bi ti bilo da napravis pomocnu tabelu, koji znak menjas kojim, i onda pomocu funkcije vlookup da zamenis, vidi primer. Onda nadalje svaki put samo menjas u pomocnoj koji znak odgovara kojem, bez ikakve promene u kodu

Prilozi:
Informacije o tipu datoteke za:zip  LotoDex.zip
Preuzimanja:270
Velicina datoteke:6.12 KB

↑  ↓

#8 02.12.2019 12:12
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,831


Predmet:Re: excel vba promijeni button kad je pritisnut
@Zxz
nisam puno ustedio na ovome:

PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub CommandButton1_Click()
  2.    Dim Broj As CommandButton
  3.    Set Broj = Me.ActiveControl
  4.    Call string2array(Broj)
  5.    Call ButtonCaptions(Broj)
  6. End Sub

jedino je korisno sto sam naucio kako napraviti object od commandbuttona pa pretpostavljam da ce mi u daljnem radu to jednom dobro doci.

sto se tice funkcije broj_slovo nije mi radilo kako sam zamislio vjerojatno jer nisam dobro objasnio.
Gdje god se nalazi slovo A u stringu "ABCEGF" treba ga zamijeniti sa odgovarajucim brojem tj. brojem koji je na poziciji A stringa u cons str.

Malo sam to preuredio a pomoglo mi to sto si napisao. Znaci, procitamo poziciju izabranog broja.
Npr. broj 23 je na 4 mjestu. Sada pogledamo koje slovo je na 4 mjestu u cons str a to je D slovo i onda u kombinaciji slovo D zamjenimo brojem 23, a procitamo ga iz arr(4).

Da, malo je komplicirano za shvatiti ali kad bi trebam jos jednom objasniti nebi znao. Kako je komplicirano za objasniti tako je komplicirano i za izvesti.

@Dex

ZIP i RAR, dva su brata

ZIP ima bolju podrÅ¡ku, raÅ¡ireniji je i većina operativnih sustava ima ugrađenu podrÅ¡ku za njega, ali RAR ima bolju kompresiju. Tako bar kazu, lazem ja ako lazu drugi.
RAR datoteke se takode koriste, ali za njihovo stvaranje potreban je WinRAR, koji je komercijalni softver, pa je malo manje rasiren od ZIP formata.
WinRar čuva izvorne datume kreiranja mapa
RAR datoteku mogu potpisati , tako da se moze vidjeti tko ju je napravio.

E sad, neko mi je rekao da ako želim biti kul i reci drugima da sam programer i da se ozbiljno bavim programskim jezicime i stručnjak sam u informatici slat cu komprimirane datoteke u RAR formatu, a obična raja koristi ZIP. Tako su mi rekli, ja sada neznam jeli to stvarno tako ili nije.

ali evo i u ZIP-u, office je 2007, sa omogucenim razvojnim okruzenjem (develope) i naravno preveden.

Prilozi:
Informacije o tipu datoteke za:zip  loto.zip
Preuzimanja:259
Velicina datoteke:37.87 KB


zivot je moja domovina.
Ovaj post je ureden 2 puta. Posljednja izmjena 02.12.2019 12:16 od strane Avko. ↑  ↓

#9 02.12.2019 19:31
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,657


Predmet:Re: excel vba promijeni button kad je pritisnut
Hehe po time onda ni ja sebe nemogu smatrati programerom jer koristim zip.
Zip koristim iz prostog razloga sto koristim komander a na njemu je ugradjen zip.
rar ili zip svejedno je mada koliko znam od prije da rar to moze malo bolje sbit ali nije to nesto da bi prevagnulo bar kod mene.
Zip je koliko ja znam nastao prije ili bolje reci ja sam prije do njega dosao jos kad je bio dos 3.3 pa je imao tri exe fajla pkzip pkunzip i pkzipfix ako nisam zaboravio.
Sve je to samo navika po meni i nista drugo.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 02.12.2019 20:52
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,831


Predmet:Re: excel vba promijeni button kad je pritisnut
Å alio sam se za programere.

nego , idemo dalje. U primjeru kojeg sam stavio javlja mi gresku. Htio sam na Form 2 napraviti button no nisam uspio.
Zna li netko kako add commandbutton na userform2
zivot je moja domovina.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 8: 26 am.