[ Jablan65 @ 06.02.2013. 19:23 ] @
Pročitao sam sve relevantne teme u ovom podforumu, naguglao se i na srpskom i na engleskom, ali rešenje moga problema nisam nigde našao. Pa ako neko ima kakvu ideju, bio bih veoma zahvalan da je podeli sa mnom.

Radi se o sledećem. Imam kolonu brojeva, poprilično dugačku. Neki brojevi su ručno ukucani, a neki su rezultat formule koja je ukucana u ćeliji. Uglavnom, kada je utvrđena tačna vrednost za tu ćeliju, jednostavno je prekucana formula u ćeliji, koja je pre toga davala procenu njene vrednosti.

Kako u formuli koja je u nekoj drugoj ćeliji, da ispitam da li je vrednost u ćeliji iz "one" kolone unešena ručno ili je rezultat izračuna formule?

Ispitati da li je prvi znak u ćeliji "=" ne ide, jer sadržaj ćelije nije tekst. Bilo bi lepo kada bi postojala funkcija slična ISNUMBER() funkciji, nešto kao ISFORMULA(). Možda i postoji, ali ja ne znam koja je.
[ djoka_l @ 06.02.2013. 19:51 ] @
Code:
Function isformula(SourceCell As Range)
   If Left(SourceCell.Formula, 1) = "=" And Left(SourceCell.Value, 1) <> "=" Then
     isformula = True
   Else
     isformula = False
   End If
End Function

[ 3okc @ 06.02.2013. 20:12 ] @
Nema rešenja koje ne uključuje VBA - tj ima ali tek sa najnovijim v2013. (Vidi: New ISFORMULA Function in Excel 2013 (By Debra Dalgleish))

Jednostavno rešenje preko VBA:
Code:

Function IsFormula(cl As Range) as Boolean

    IsFormula=cl.Cells(1).Hasformula
End Function
[ timmy @ 06.02.2013. 20:21 ] @
Excel 2013 donosi novu funkciju ISFORMULA(referenca) koja vraca TRUE ili FALSE u zavisnosti od unetog podatka u celiji.

Takodje, interesantna je i nova funkcija FORMULATEXT(referenca) koja vraca tekst formule koji je unet u nekoj celiji.

Pozdrav
[ Brodoplovac @ 06.02.2013. 22:00 ] @
Možeš da koristeći Replace dijalog i korišćenjem opcije Look In Formulas u tom dijalogu, zameniš znakove "=" sa "*".
Posle toga možeš lako da ispitaš gde je formula, a gde je fiksna vrednost.
[ Jablan65 @ 07.02.2013. 08:14 ] @
Hvala vam svima na odgovorima. Nadao sam se upravo ovome što donosi Ofis 2013. Izgleda da ću morati sačekati novu verziju. Do tada...

Ovo rešenje sa "riplejs" dijalogom mi ne odgovara jer rešenje ne treba da bude jednokratno, već da se automatski ažurira pri promeni sadržaja neke ćelije.

Kad uFatim vremena, poigraću se sa ova dva VBA rešenja. Nego jedno pitanje za iskusnije. Da li se kao parametar u formuli, u samoj ćeliji, može koristiti "cl.Cells(1).Hasformula"? Normalno uz zamenu imena "cl" sa oznakom ćelije, na primer "B17.Cells(1).Hasformula".
[ 3okc @ 07.02.2013. 08:58 ] @
Ako sam uopšte razumeo tvoje pitanje, odgovor je ne, ne možeš koristiti VBA komande unutar formula.

Ako te zanima isprobavanje, to ipak možeš: otvori VBA editor sa ALT+F11, prozor Immediate sa Ctrl+G i tamo ukucaj ?Range("b17").hasformula<Enter>

Alternativa za brzo lociranje, koje ne bi uključilo programiranje postoji sa GoTo > Special... > Select:Formulas > OK
i istog trenutka će ti ćelije sa formulama postati označene.
[ FOX028 @ 07.02.2013. 09:11 ] @
evo predloga koji je dao Zoks uradjenom u Excel-u.
[ Ivek33 @ 07.02.2013. 22:42 ] @
Citat:
Jablan65:
Kako u formuli koja je u nekoj drugoj ćeliji, da ispitam da li je vrednost u ćeliji iz "one" kolone unešena ručno ili je rezultat izračuna formule?

Ako želiš samo vidjeti ćelije u kojima je formula možda ti odgovara opcija Office Button => Excel options => Advanced i čekiraj opciju "Show formulas in cells ..."
[ Jablan65 @ 07.02.2013. 22:49 ] @
Zoks i Foks, hvala najlepše. Dobro ste razumeli šta sam pitao i dosta ste mi pomogli savetima.

Ivek, to što si predložio ipak nije ono što mi treba. U svakom slučaju hvala.