Doar la numar, nu si la text

Informatii despre cum se utilizeaza Microsoft Excel 2007. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Indigo-ONE
Mesaje: 437
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Doar la numar, nu si la text

Mesaj de Indigo-ONE » Vin Iul 22, 2022 10:50 am

Buna ziua,
Revin cu o intrebare
Nu s-ar putea face ca in celula B4 la aparitia textului "atentie", celula respectiva sa clipeasca cumva intermitent?
Ma indoiesc. Teoretic se poate incerca ceva cu un macro dar acesta nu reactioneaza la modificarea rezultatului unei formule deci ar trebui legat de modificare suferita de celula A4.
Corect. S-ar putea face cu un event change la celula A4 (isNumeric)
... Apoi ar fi partea cu "clipitul" care nu e posibila (ca nu este Word)...
S-ar putea face cu un event change la celula A4 (isNumeric) si un cod VBA, care sa schimbe culoarea fontului/celulei, si cu ajutorul application.wait, sa schimbi culoarea fontului/celulei. DAR trebuie oprit acel ciclu cumva (prin scrierea cifrei - sa zicem 11 - intro celula) sau rescrierea celulei A4 cu text.

Cum eu consider, ca e mai mult un moft decat ceva intr-adevar util..... nu am sa ofer un codurile VBA.

Totusi daca NU se doreste ca in A4 sa fie un numar, as folosi mesajul din DV si as colora celula B4 cu formatare conditionata...


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

vasileraz58
Mesaje: 224
Membru din: Mar Aug 25, 2015 10:47 am
Localitate: Jud. Sibiu

Re: Doar la numar, nu si la text

Mesaj de vasileraz58 » Vin Iul 22, 2022 6:57 pm

Buna seara!
Intradevar domnul Indigo_ONE are dreptate. Este un "moft" al meu. Acum, sa explic:
La firma la care lucrez, nu am un program de facturare. Eu, cum m-am priceput, si cu ajutorul celor de pe forum si din alte surse am creat in excel un registru de lucru cu mai multe foi in care am DV cu nume ale firmelor, nume ale delegatilor, etc., si astfel eliberez facturile respective. In acel registru am o foaie pentru facturile firmelor, si alta foaie cu facturi pentru persoane fizice si altele. Asa m-am priceput eu sa fac. In facturile care le fac, trebuie sa scriu intr-o celula numerele de avize de insotire a marfii, daca am emis avize pentru marfa. Pentru cei care nu am emis factura fara avize de marfa, in celula respectiva trebuie sa scriu F.A. prescurtat ceea ce inseamna "fara aviz". Ei, acum incepe problema. Daca eliberez o factura in care trebuie sa scriu numerele de avize si dupa aceea trebuie sa eliberez alta factura fara numar de aviz, adica F.A., de multe ori din graba sau neatentie pe factura emisa apar numerele de aviz care au fost scrise mai inainte pe vechea factura si care apar si pe noua factura, uitand sa sterg acele numere si ca trebuie sa trec F.A. Din aceasta cauza am vrut sa fac "ceva" care sa ma atentioneze sa sterg acele numere in caul in care trebuie sa fac factura fara numar de aviz, adica, F.A. Deci, ceea ce am vrut eu este ca sa ma atentioneze cumva, ca in acea celula am nr. de aviz si nu textul F.A. Oricum, am facut cu format conditionat, deoarece codul VBA al domnului IPP am incercat sa-l implementez, dar nu pot. (sau nu ma pricep). Eu in excelul de facturi mai am un cod VBA care imi transforma cifrele in litere si poate ca de aceea nu mai accepta inca un cod al domnului IPP. Eu am incercat cum am stiut dar nu merge. Oricum acel cod il pot folosi in alta parte. Nu pot atasa fisierul cu pricina deoarece are date "sensibile". Va multumesc pentru interes tuturor!

Indigo-ONE
Mesaje: 437
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Doar la numar, nu si la text

Mesaj de Indigo-ONE » Vin Iul 22, 2022 11:25 pm

Daca eliberez o factura in care trebuie sa scriu numerele de avize si dupa aceea trebuie sa eliberez alta factura fara numar de aviz, adica F.A., de multe ori din graba sau neatentie pe factura emisa apar numerele de aviz care au fost scrise mai inainte pe vechea factura si care apar si pe noua factura, uitand sa sterg acele numere si ca trebuie sa trec F.A.
Eu nu inteleg cum ramane si altceva in acea celula. Selecteaza ce e in acea celula si suprascrie orice era acolo.

Daca factura se creaza utilizand un cod VBA atunci, in codul VBA, deasupra liniilor de cod dar sub prima linie (aceea cu Sub CreareFactura() - sau cum so fi numind codul) puneti o linie de cod, ceva de genul: [A4]="" sau [A4].ClearContents sau Range("A4").ClearContents si in felul acesta tot timpul celula A4 va fi goala, dupa rularea codului care creaza fatura.


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

vasileraz58
Mesaje: 224
Membru din: Mar Aug 25, 2015 10:47 am
Localitate: Jud. Sibiu

Re: Doar la numar, nu si la text

Mesaj de vasileraz58 » Sâm Iul 23, 2022 2:19 pm

Buna ziua!
Codul VBA de la factura este doar pentru a transforma cifrele in litere pe chitanta. De ex. suma finala este 2013.12 lei, iar ca sa nu fi obligat sa scrii manual si in litere, adica douamiitreisprezeceleisidoisprezecebani, acest lucru il face codul. In rest in celula unde trebuie sa scriu nr.avize, (cand eliberez factura pentru ca respectivul a luat marfa pe avize), acolo, cateodata uit sa sterg acele numere cand fac alta factura la alt client care ia marfa fara aviz, din aceasta cauza eliberez si acestuia factura cu numerele ramase de la factura de dinainte. Ori acest lucru nu trebuie sa se intample. De aceea am vrut sa fac "ceva" care sa ma atentioneze sa sterg acele numere la urmatoarea factura si sa scriu F.A. Nu stiu daca m-am facut inteles, dar am rezolvat cu format conditionat si cu formula data de d-nul IPP. Va multumesc pentru interesul pe care mi-l acordati domnul Indigo-ONE. ;)

Indigo-ONE
Mesaje: 437
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Doar la numar, nu si la text

Mesaj de Indigo-ONE » Sâm Iul 23, 2022 10:18 pm

Codul VBA de la factura este doar pentru a transforma cifrele in litere pe chitanta.
Ok. Pune la sfarsitul codului, inainte de End Sub, una din liniile pe care le-am dat in cealalta postare.
In felul acesta vei sterge celula A4 (sau care doresti) si nu vei mai avea probleme cu "uitatul" stergerii avizelor.
la apasarea butonului, codul va scrie acea suma in litere si va sterge si celula A4.


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

vasileraz58
Mesaje: 224
Membru din: Mar Aug 25, 2015 10:47 am
Localitate: Jud. Sibiu

Re: Doar la numar, nu si la text

Mesaj de vasileraz58 » Dum Iul 24, 2022 6:43 pm

Buna seara! Maine cand sunt la lucru am sa incerc sa fac ce mi-ati sugerat, din pacate nu am acasa fisierul cu facturi. Insa eu nu am un buton pe care trebuie sa apas.

IPP
Moderator
Moderator
Mesaje: 4197
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Doar la numar, nu si la text

Mesaj de IPP » Lun Iul 25, 2022 10:55 am

@vasileraz58

Faptul ca mai aveti cod macro prin acel fisier nu inseamna ca nu ar trebui sa functioneze si codul propus de mine

Banuiesc ca ati intampinat doua probleme:
1.Locul de plasare al codului.
In editorul macro acesta nu trebuie sa fie intr-un modul sau foaie ci la nivel de fisier (ThisWorkbook)

2.Gasirea corecta de catre macro a foii dorite.
In macro din Excel referirea catre o foaie se poate face in mai multe feluri (si fiecare poate sa prezinte avantaje/dezavantaje):
-cu referire la numele foii dat de utilizator (ex Sheets("Factura") );
-cu referire la pozitia foii in cadrul fisierului (de ex. Sheet(2) ar fi a doua foaie, numarand de la stanga spre dreapta, caz in care nu conteaza cum se numeste foaia)
-cu referire la numele foii asa cum este stocata si/sau redenumita "intern" in editorul macro, adica fie o denumire conventionala "Foaie1" ,"Feuille1", "Sheet1", in functie de limba versiunii (romana, franceza, engleza), fie cu numele editat de utilizator in editorul macro

In codul de mai sus am optat pentru aceasta ultima abordare. Dvs. ati avea doua optiuni de editare in linia Sheet1.Range("B4")...:
1.Modificati Sheet1 cu denumirea pe care o aveti pentru foaia de interes DAR asa cum este ea editorul dvs. macro (poate dvs. o aveti ca Sheet5)
2.Modificati Sheet1 cu Sheets("NumeleFoiiDateDeDvs")

Altfel, important este sa gasiti o solutie acceptabila pentru dvs. din toate punctele de vedere.

vasileraz58
Mesaje: 224
Membru din: Mar Aug 25, 2015 10:47 am
Localitate: Jud. Sibiu

Re: Doar la numar, nu si la text

Mesaj de vasileraz58 » Lun Iul 25, 2022 11:34 am

Da, nu am putut face nimic cu codul deoarece nu ma pricep, in schimb am formatat conditionat celula in care am introdus formula care mi-ati dat-o, insa abia astazi constat ca nu functioneaza nici aceasta formula daca introduc mai multe numere in celula, de ex: 2122, 2123, 2124. La un singur numar, vad ca merge. Daca introduc mai multe numere, nu mai merge. As putea sa pun codul de la factura aici, dar nu stiu cum. L-am copiat intr-un fisier txt. dar nu il pot urca.
Ultima oară modificat Lun Iul 25, 2022 11:44 am de către vasileraz58, modificat 1 dată în total.

IPP
Moderator
Moderator
Mesaje: 4197
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Doar la numar, nu si la text

Mesaj de IPP » Lun Iul 25, 2022 11:39 am

Functia respectiva evalueza TOT continutul celulei, ca tip de informatie. In momentul in care dvs introduceti un separator informatia este evaluata ca TEXT independent ca ea e format din cifre.

vasileraz58
Mesaje: 224
Membru din: Mar Aug 25, 2015 10:47 am
Localitate: Jud. Sibiu

Re: Doar la numar, nu si la text

Mesaj de vasileraz58 » Lun Iul 25, 2022 11:45 am

Aha, acum am inteles!

Scrie răspuns

Înapoi la “Intrebari despre Excel 2007”