Cum testez daca o celula contine o formula

Informatii despre cum se utilizeaza Microsoft Excel 2003. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Închis
dip
Mesaje: 201
Membru din: Sâm Feb 06, 2010 11:09 pm
Localitate: Brasov

Cum testez daca o celula contine o formula

Mesaj de dip » Joi Apr 01, 2010 9:11 am

Am nevoie sa numar celulele cu formule dintr-un domeniu.
Cum testez daca o celula contine o formula?
Stiu de functia TYPE care returneaza un numar (1,2,4,..) daca celula contine numar, text, valoare logică, etc. dar cum fac pentru formulă?

Dr. Cloud
Mesaje: 3327
Membru din: Mar Oct 02, 2012 11:19 am

Re: Cum testez daca o celula contine o formula

Mesaj de Dr. Cloud » Joi Apr 01, 2010 9:17 am

Vezi daca te ajuta ce este aici: Numara formule si indexeaza pagini

dip
Mesaje: 201
Membru din: Sâm Feb 06, 2010 11:09 pm
Localitate: Brasov

Re: Cum testez daca o celula contine o formula

Mesaj de dip » Vin Apr 02, 2010 9:00 am

Pe mine ma intereseaza sa-mi intoarca, intr-o celula, numarul de formule din domeniu.
Sau daca e mai simplu, sa testez o singura celula dintr-o oaie daca aceasta contine formula, iar rezultatul testarii sa fie afisat intr-o celula.
Pentru cazul concret atasez fisierul Parc.xls. Acesta are 31 foi care au legaturi la 31 foi din alt fisier din reteaua locala (31fiind zilele lunii). In fiecare zi, dupa ce actualizez fisierul Parc.xls, in foaia zilei respective, printr-o macrocomanda, transform formulele in valori (celulele verde galbui ex H7,I7 etc). Fac acest lucru pentru ca daca cineva modifica fisierul sursa retroactiv (pt zilele anterioare) modificarea sa nu se propage si in fisierul Parc.
As dori ca in fiecare foaie, in celula A1 de exemplu, sa apara valoarea 0 daca H7 nu contine formula sau 1 daca aceasta contine formula.
In foaia TOTAL, in celula A1, pot face astfel o verificare daca a fost rulata macrocomanda de inlocuire a formulelor cu valori in fiecare zi.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Avatar utilizator
dinu
Mesaje: 158
Membru din: Lun Mar 08, 2010 2:48 pm

Re: Cum testez daca o celula contine o formula

Mesaj de dinu » Vin Apr 02, 2010 6:00 pm

Poti sa faci o Functie de Foaie de Calcul proprie care sa functioneze exact ca ale Excelului.
In Visual Basic Editor, intr-un modul standard (Insert>Module) poti sa scrii functia urmatoare pe care, fara sa trebuiasca sa faci nimic in plus, o poti gasi apoi si in Excel cu Insert>Function>(categoria User Defined), sau poti sa o tastezi direct intr-o celula. Ai scris-o - a aparut acolo.
Functia FormuleCn() primeste ca argument o referinta a unei celule sau regiuni, si intoarce numarul de celule care au formule.

Cod: Selectaţi tot

Option Explicit

Public Function FormuleCn(Rng As Range) As Long
   Dim Rw As Long, Cl As Integer, FsCn As Long
   
   For Rw = 1 To Rng.Rows.Count
      For Cl = 1 To Rng.Columns.Count
         If Left(Rng.Cells(Rw, Cl).Formula, 1) = "=" Then FsCn = FsCn + 1
      Next
   Next
   FormuleCn = FsCn
End Function
Mai multe despre Functii de Foaie de Calcul proprii eu am gasit la http://www.ozgrid.com/VBA/Functions.htm.

dip
Mesaje: 201
Membru din: Sâm Feb 06, 2010 11:09 pm
Localitate: Brasov

Re: Cum testez daca o celula contine o formula

Mesaj de dip » Mar Apr 06, 2010 8:58 am

Multumesc tuturor de ajutor, cu raspunsul lui dinu am rezolvat problema.

Închis

Înapoi la “Intrebari despre Excel 2003”