1 / 13

Funcţii Excel definite de utilizator (FDU) în VBA

Funcţii Excel definite de utilizator (FDU) în VBA. Funcţiile definite de utilizator ( UDF – User Defined Function) în Excel reprezintă o alternativă personalizată la funcţiile proprii .

cira
Télécharger la présentation

Funcţii Excel definite de utilizator (FDU) în VBA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Funcţii Excel definite de utilizator (FDU) în VBA • Funcţiile definite de utilizator (UDF – User Defined Function) în Excel reprezintă o alternativă personalizată la funcţiile proprii. • FDUpot reduce substanţial încărcarea unei foi de calcul. Prin FDU este posibil a se reduce un calcul care necesită numeroase celule pentru rezultate intermediare, la un singur apel de funcţie, efectuat dintr-o singură celulă. • FDUpot creşte productivitatea în momentul în care mai mulţi utilizatori trebuie să repete aceleaşi proceduri de calcul. Astfel, se poate defini o bibliotecă de funcţii adaptate utilizării într-un mediu personalizat.

  2. FDU nu pot fi înregistrate ca operaţii manuale (Tools – Macro – Record New Macro) • FDU trebuiesc editate (de la zero), utilizând un modul VBE (Tools – Macro – Visual Basic Editor / Alt+F11). • Dacă este necesar (dacă nu există în fereastra VBA Project nici un modul predefinit), se poate insera prin comanda Insert Module FDU: Creare • Principala diferenţă între o procedură VBA de tip sub şi o procedură de tip funcţie, rezidă în faptul că o FDU returnează o valoare. • Astfel , numeFDU() calculează o valoare numerică plecând de la variabilele sale declarate ca argumente şi transpune acea valoare într-o celulă în care este editată formula Excel care face apel la funcţia “numeFDU”.

  3. Close and Return to Excel / Alt+F11 • Funcţiile personalizate vor fi editate utilizând un modul VBA (Tools – Macro – Visual Basic Editor / Alt+F11). • Inserarea unui modul predefinit în fereastra VBA Project se realizează prin comandaInsert Module Funcţii Definite de Utilizator(funcţii personalizate) • În Excel, funcţia se editează în mod obişnuit, cu argumentele proprii adrese de celule / nume de câmpuri în loc de variabile.

  4. FDU: Exemple: • Exemplul 1 • Structură If...Then...Else...EndIf • Exemplul 2 • Structură If ... ElseIf...EndIf • Exemplul 3 • Structură Select Case ... End Select • Exemplul 4 • Structură If cu Vlookup

  5. If...Then...Else...EndIf

  6. If...ElseIf...EndIf

  7. If...ElseIf...EndIf =IF(OR(J5="DA";TODAY()<H5);0; IF((TODAY()-H5)<=30;(TODAY()-H5)*I5*0,3%; IF((TODAY()-H5)<=90;(I5*30*0,3%)+(TODAY()-H5-30)*I5*0,5%; IF((TODAY()-H5)<=180;(I5*30*0,3%)+(I5*60*0,5%)+(TODAY()-H5-90)*I5*0,7%; (I5*30*0,3%)+(I5*60*0,5%)+(I5*90*0,7%)+(TODAY()-H5-180)*I5*1%))))

  8. Select Case...End Select

  9. IF (Cantitate>Cantitate_discount; Dif_cant*Preţ*(1-Reducere)+Cantitate_discount*Preţ; Cantitate*Preţ) Obiecte VBA de tip funcţii (funcţia Vlookup)

  10. Modul VBA cu funcţia Vlookup

  11. Modul VBA cu funcţia Vlookup(Test de existenţă a cheii de consultare)

  12. Modul VBA cu funcţia Vlookup

  13. Imposibilitatea de creare a unei funcţii capabile să modifice (sau să se refere la) structura unei foi de calcul. • O FDU nu poate să returneze o valoare pentru o altă celulă, nu poate modifica o caracteristică fizică a unei celule (font, culoare) . • O FDU nu poate îndeplini acţiuni cum ar fi copierea sau deplasarea conţinutului celulelor, modificarea poziţiei cursorului, etc. • O FDU poate apela o altă procedură de tip funcţie (Function) sau subrutină (Sub), dar se supune aceloraşi restricţii structurale. Funcţiile sau procedurile care nu sunt legate de celulele foii de calcul pot executa orice acţiune Excel, numai dacă nu sunt integrate în FDU • Utilizând numeroase FDU, timpul de recalcul pentru formulele existente scade. FDU: Limite în utilizare

More Related