BiH



#1 26.11.2019-20:18
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,552


Subject: 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 fajlu: rar  loto.rar
Preuzimanja: 5
Veličina: 24.75 KB


Život je moja domovina.
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 26.11.2019-20:19 od strane Avko. ↑  ↓

#2 26.11.2019-21:19
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 10,003


Subject: Re: excel vba promijeni button kad je pritisnut
DownloadIzvorni kod (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

Pozdrav
↑  ↓

#3 28.11.2019-00:09
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 10,003


Subject: Re: excel vba promijeni button kad je pritisnut
i sta bi.
radi li ovo ?
Pozdrav
↑  ↓

#4 28.11.2019-11:55
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,552


Subject: 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 fajlu: rar  loto.rar
Preuzimanja: 8
Veličina: 35.26 KB


Život je moja domovina.
Ovaj komentar je mijenjan 4 puta. zadnja izmjena 28.11.2019-11:58 od strane Avko. ↑  ↓

#5 29.11.2019-20:14
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 10,003


Subject: Re: excel vba promijeni button kad je pritisnut
DownloadIzvorni kod (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.

DownloadIzvorni kod (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.
Pozdrav
Ovaj komentar je mijenjan 3 puta. zadnja izmjena 01.12.2019-23:03 od strane Avko. ↑  ↓

#6 29.11.2019-23:27
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 10,003


Subject: Re: excel vba promijeni button kad je pritisnut
DownloadIzvorni kod (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.
Pozdrav
↑  ↓

#7 01.12.2019-11:58
dex Offline
Super Moderator
Registrovan/a od: 23.02.2012-19:59
Komentari: 613


Subject: 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 fajlu: zip  LotoDex.zip
Preuzimanja: 4
Veličina: 6.12 KB

↑  ↓

#8 02.12.2019-12:12
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,552


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

DownloadIzvorni kod (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 fajlu: zip  loto.zip
Preuzimanja: 3
Veličina: 37.87 KB


Život je moja domovina.
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 02.12.2019-12:16 od strane Avko. ↑  ↓

#9 02.12.2019-19:31
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 10,003


Subject: 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.
Pozdrav
↑  ↓

#10 02.12.2019-20:52
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,552


Subject: 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
Život je moja domovina.
↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 08.12.2019-11:19.