Korisnik:   Lozinka:   
Beograd Novi Sad Kragujevac Niš
PC Berza Forum : Ver. 2.35
Najnovije teme Najnoviji odgovori Prikačene teme Najaktivnije teme Najčitanije teme
Pronađi : U : Pretraži :
Forum : Softver
Aplikacije
Da li postoji program?
STRANA 1 OD 1
Starcevac Da li postoji program? 01.07.2010. 13:28 T27855

status: user
broj poruka: 318
Pozdrav svima.

Zanima me dal postoji program koji bi odradio sledeći posao:

napišem nekoliko kombinacija brojeva npr.

12345
13456
14567 itd.

I da mi on pokaže koje brojke se pojavljuju u svim ili samo nekim redovima.(konkretno u ovom primeru su to 1,4 i 5)

Ovo sam pokušao u Ekselu, ali on potvrđuje samo tačnu kombinaciju.

Hvala unapred.

https://www.mojtip.com
:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
arsaD Vidi ovde 01.07.2010. 17:16 #227154

status: user
broj poruka: 412
http://www.mrexcel.com/articles/duplicates-with-conditional-formatting.php

mozda pronadjes tu fomulu za tvoj problem.
Za sve sto niste mogli recite da niste hteli.

:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Dragg re 01.07.2010. 18:21 #227174

status: user
broj poruka: 2270
Predlažem ti da počneš hitno da učiš VBA, jer vidim da često imaš ovakve probleme. Jako je teško rešiti to u excel formuli a trivijalno u VBA. Evo šta sam sklepao za 15min.

Sub Main
Dim pm,sh as Object
dim a,b as String
dim n,l1,dig as integer
dim sol(1 to 9),v as double

n=3
Set pm = CreateObject(`PlanMaker.Application`)
set sh= pm.Application.ActiveSheet
a=str(sh.range(`a1:a`&str(n)).item(1).value)

l1=1
for i =1 to 9
c$=str(i)
sol(l1)=1
for j=1 to n
dig=InStr(1,str(sh.range(`a1:a`&str(n)).item(j).value),c$)
if dig=0 then
sol(l1)=0
end if
next j
if sol(l1)=1 then
sh.range(`b1:b9`).item(l1).value=i
l1=l1+1
end if
next i
End Sub

Nažalost, nemam trenutno excel već softmakerov ofice, mislim da treba samo da promeniš u Set pm komandi umesto PlanMaker staviš excel i trebalo bi da radi. Znači otvoriš neku tabelu i upišeš ta 3 broja od a1 nadole, staruješ script i u B koloni ćeš dobiti brojeve koji se ponavljaju.

Naravno, za rad sa matricama i nizovima podataka matlab je zakon, ali ne znam da li ima OLE Automation, da bi ga povezao sa excelom.
edit: stringovi idu sa doublequotes a ne sa single kao što je u listingu
:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Starcevac ... 01.07.2010. 21:51 #227219

status: user
broj poruka: 318
arsaD, to znam. Čak sam to radio i u srednjoj. U svakom slučaju hvala.

Dragg, ušao sam u Eksel i u Microsoft Visual Basic. U Module sam ubacio ovu tvoju skriptu, sredio navodnike, sačuvao sve, ali nema nikakvih rezultata u tabeli Eksela.

Pošto ovo nikad nisam radio, najverovatnije sam negde pogrešio.

Evo kako sam odradio:

Ispisao one brojke od gore, od A1 pa nadalje.

Ušao ALT+F11 u Visual Basic, pa u Module, ubacio tvoju skriptu, sredio navodnike, sačuvao, vratio se u Eksel, ali ništa.

Aj, ako znaš gde sam pogrešio napiši mi, pa da vidim da li ću ovo moći da koristim na konkretnom primeru ili da znam da ne vredi pa da krenem polako ručno.

Hvala ti još jednom na pomoći.
https://www.mojtip.com

:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Dragg re 01.07.2010. 22:04 #227224

status: user
broj poruka: 2270
Pa moraš da startuješ scriptu - run. Alternativno, možeš da da staviš neki objekat na ekran excela (npr dugme) i da povežeš script sa njim ali onda kod ne ide u module nego u kod tog objekta. Ako ti debugger prijavi neku grešku javi, pa će vidimo.


:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Starcevac ... 01.07.2010. 22:49 #227239

status: user
broj poruka: 318
prijavio je grešku. Ne može kod mene ništa iz prve.

Prijavljuje grešku ovde:

Set pm = CreateObject(`PlanMaker.Application`) (požuteo ju je)

https://www.mojtip.com

:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Dragg re 01.07.2010. 23:13 #227243

status: user
broj poruka: 2270
Rekoh ti da imam softmaker office. Znači PlanMaker zameniš sa excel.
Set pm = CreateObject(`Excel.Application`)
:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Starcevac ... 01.07.2010. 23:15 #227244

status: user
broj poruka: 318
Moj propust, izvini.

Prvo piše greška 91, Object variable or With block variable not set.

Sad ide nova greška:

a = Str(sh.Range(`a1:a` & Str(n)).Item(1).Value)

https://www.mojtip.com

:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Dragg re 01.07.2010. 23:25 #227245

status: user
broj poruka: 2270
Ufff, teško je ovako na daljinu ali ne volim nezavšene poslove. Vidim da ću instalirati excel zbog ovog.


:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Starcevac ... 01.07.2010. 23:34 #227246

status: user
broj poruka: 318
Nema veze.

Da sad ne zamaram i tebe i sebe, nije ništa hitno. Moram da idem, sutra moram ranije da ustanem...

Kad budeš imao vremena vidi u čemu je problem, ako ne, nema veze.

U svakom slučaju, hvala još jednom na pomoći.

P.S. Ako možeš ovako da rešiš problem super, a nemoj zbog mene da se cimaš i instaliraš Eksel.Nije toliko hitno, pa ni bitno da se toliko zjbš oko toga.

https://www.mojtip.com

:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Dragg re 02.07.2010. 00:53 #227267

status: user
broj poruka: 2270
Ma nema veze i mene je zanimalo gde škripi. Problem sa objektima je lako rešen, ali sam 45min ubio dok nisam shvatio da u excelu 2007 postoji bug u funkciji STR. Kakve gluopsti, koga oni zajebavaju -`alat za profesionalce`. Evo ispravnog listinga, možeš da ga staviš u sheet1 objekat, ne mora da ide u module. Verovatno si već shvatio da ti komanda n=3 određuje broj ćelija sa brojevima u kojima tražiš cifre.

Sub Main()
Dim sh As Object
Dim n, l1, dig, i, j As Integer
Dim sol(1 To 9) As Double

n = 3

Set sh = ActiveSheet
l1 = 1

For i = 1 To 9
c$ = Right(Str(i), 1)
sol(l1) = 1
For j = 1 To n
dig = InStr(1, Str(sh.Cells(j, 1).Value), c$)
If dig = 0 Then
sol(l1) = 0
End If
Next j
If sol(l1) = 1 Then
sh.Cells(l1, 2).Value = i
l1 = l1 + 1
End If
Next i
End Sub



:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
Starcevac Svaka čast!!! 02.07.2010. 16:07 #227440

status: user
broj poruka: 318
Dragg, bravo. Sada radi.

Naredna 2-3 dana nemam mnogo vremena da se bavim sa Ekselom, ali videću da li ću moći ovo da iskoristim za konkretnu situaciju.

Valjda ću se snaći.

Hvala još jednom.

https://www.mojtip.com

:: e-mail :: prijavi adminu :: citiraj :: odgovori ::
STRANA 1 OD 1
Broj postavljenih tema: 60373. Broj poslatih odgovora: 647177.
Trenutno niste prijavljeni na PC Berzu i zbog toga imate status 'gosta'. Kao gost ne možete da šaljete poruke na Forum. Ako ste registrovani kao član PC Berze, prijavite se. Ako ste novi korisnik, molimo registrujte se da bi dobili mogućnost aktivnog učešća u radu Foruma.
- niste prijavljeni - samo za čitanje - zaključano
- nema novih poruka - ima novih poruka - ima novih tema
Slagalica.net
Microsystems d.o.o.
PCB Network: pcberza.rs | lisica.rs