[ koreja2001 @ 06.05.2019. 22:37 ] @
Kako napraviti formulu da se automatski broj računa povećava za 1 ako broj računa sadrži i slova. Na primjer broj računa je 103/L1/1P i slijedeći broj bi trebao biti 104/L1/1P pa 105/L1/1P itd. Hvala |
[ koreja2001 @ 06.05.2019. 22:37 ] @
[ bokinet @ 06.05.2019. 23:30 ] @
Moze na vise nacina to da se uradi;
Evo deo od jednog nacina kako je to moguce resiti: - U VBA napraviti f-ju koja generise broj racuna u skladu sa potrebama i koja vraca generisani broj racuna kao povratnu vrednost tipa string; - Pozvati tu VBA f-ju kada god je potrebno generisati novi broj; Primer VBA f-je koja koristi Registry za cuvanje poslednjeg generisanog broja preko f-je gde preko ulaznog parametra kontrolise da li se poslednji generisani broj azurira ili ne u registry-ju i deo koda koji sluzi za povezivanje makro-a sa drugim elementima u okviru Excel-a isto kroz VBA i makro; Code: Public Function GenerateInoviceNum(Optional ByVal SaveLastNumber As Boolean = True) As String Dim r As String r = Val("" & GetSetting("myinvoiceapp", "invoice", "invoicenum", "0")) + 1 If SaveLastNumber = True Then SaveSetting "myinvoiceapp", "invoice", "invoicenum", r End If r = Format(r, "000") r = r & "/L1/1P" GenerateInoviceNum = r End Function Public Sub DoGenerateInvoiceNum() ActiveCell = GenerateInoviceNum(True) End Sub [ pera68 @ 07.05.2019. 12:47 ] @
Formula u prilogu, verovatno može i jednostavnije ali radi i ovo.
Code: =IF(ISNUMBER(LEFT(A2;FIND("/";A2)-1)*1);LEFT(A2;FIND("/";A2)-1)+1;"")&MID(A2;FIND("/";A2)+1;LEN(A2)-FIND("/";A2)) Formula radi na taj način što pronalazi prvi karakter "/" i proverava da li je to što se nalazi levo od tog karaktera broj a ako jeste uvećava ga za 1 inače za te karaktere ostavlja blanko. Za ovu formulu nije bitno da li je u nastavku identičan broj karaktera (ne mora uvek biti /L1/1P). [ koreja2001 @ 07.05.2019. 17:20 ] @
Hvala na ponuđenim rješenjima, puno ste mi pomogli
[ jaskojsako @ 07.05.2019. 18:05 ] @
pozdrav
moze i ovaj nacin, Sheets("sheets1").Range("A5").Value = _ Sheets("sheets1").Range("A5").Value + 1 L1 i P1 ne mjenjaju vrijednost stoga moze i ovaj nacin,razdvojis na 3 celije i povecavas samo onaj s brojem, svaki put kad pokrenes macro povecava se za 1 vise lp Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|