Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Suma de cifre in VBA
Last Updated: Aug 05 2010 17:41, Started by
razz0rblade
, Aug 05 2010 09:52
·
0
#1
Posted 05 August 2010 - 09:52
Buna,
Am si eu nevoie de ajutor la crearea unui cod pentru calcularea primelor 10 cifre dintr-un numar de cont de tipul xxx-xxxxxx-xx. Ultimele 2 x-uri trebuie sa fie restul impartirii sumei primelor x-uri la 97. Stiu ca restul impartirii se obtine cu MOD, numai ca nu reusesc sa imi dau seama cum adun valorile primelor pozitii din numar, avand in vedere ca trebuiesc numarate si "-". |
#2
Posted 05 August 2010 - 10:10
dupa ce aduni cifra la suma, o elimini din string.
vezi mai multe despre Left , Mid , Right. verifici tot timpul ca prima cifra sa nu fie -. spor |
#3
Posted 05 August 2010 - 10:21
razz0rblade, on 5th August 2010, 10:52, said: Buna, Am si eu nevoie de ajutor la crearea unui cod pentru calcularea primelor 10 cifre dintr-un numar de cont de tipul xxx-xxxxxx-xx. Ultimele 2 x-uri trebuie sa fie restul impartirii sumei primelor x-uri la 97. Stiu ca restul impartirii se obtine cu MOD, numai ca nu reusesc sa imi dau seama cum adun valorile primelor pozitii din numar, avand in vedere ca trebuiesc numarate si "-". Quote Function testcont(Cont As String) As Boolean Dim part1, part2 As String Dim i As Integer Dim Suma As Long part1 = Replace(Left(Cont, 10), "-", "") part2 = Right(Cont, 2) Suma = 0 For i = 1 To Len(part1) Suma = Suma + Val(Mid(part1, i, 1)) Next i If (Suma Mod 97) = Val(part2) Then testcont = True Else testcont = False End If End Function Ar mai trebui testat in functie ca stringul are lungimea de 13 caractere, altfel s-ar putea sa dea eroare |
#4
Posted 05 August 2010 - 10:26
#5
Posted 05 August 2010 - 17:41
Salut,
Codul de mai jos ar trebui sa mearga fara probleme pentru un sir al carui format e mereu acelasi. Option Explicit Private Const ACCOUNT_NUMBER_TEMPLATE As String = "###-######-##" Private Const ACCOUNT_NUMBER_DELIMITER As String = "-" ' e vorba aici de lungimea rezultata prin eliminarea separatorului Private Const ACCOUNT_NUMBER_LENGTH As Long = 11 Private Const ACCOUNT_NUMBER_MASK As Long = 97 Private Function validateAccountNumber(ByVal strInputValue As String) As Boolean Dim lngCnt As Long Dim lngResult As Long Dim lngCheckSum As Long ' setare retur validateAccountNumber = False ' tratare eroare On Error GoTo validateAccountNumber_Error ' daca nu e format valid - iesi If Not (strInputValue Like ACCOUNT_NUMBER_TEMPLATE) Then GoTo validateAccountNumber_Exit ' eliminare separator strInputValue = Replace$(strInputValue, ACCOUNT_NUMBER_DELIMITER, "") ' calcul suma pentru cele 2 grupe lngResult = 0 For lngCnt = 1 To ACCOUNT_NUMBER_LENGTH - 2 lngResult = lngResult + CLng(Mid$(strInputValue, lngCnt, 1)) Next lngCnt ' calculare checksum lngCheckSum = lngResult Mod ACCOUNT_NUMBER_MASK ' verificarea si retur validateAccountNumber = (lngCheckSum = CLng(Right$(strInputValue, 2))) validateAccountNumber_Exit: On Error GoTo 0 Exit Function validateAccountNumber_Error: MsgBox "Eroare!" & vbCrLf & "Code: " & Err.Number & vbCrLf & "Description: " & Err.Description, vbCritical Resume validateAccountNumber_Exit End Function |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users