Witam serdecznie.
Nie mogę sobie poradzić z konwersją kodu napisanego w C+ na VBA.
Czy może mi ktoś wytłumaczyć, ew. poprawić program w miejscu w którym jest błąd ?

Z góry dziekuję.

#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
     int n;
     int nk = 0;
     double x,y;
     float s;
 
     cout << "Podaj liczbe losowanych pkt:" << endl;
     cin >> n;
 
     for(int i = 1; i <= n; i++)
     {           
         x = ((double)rand() / (RAND_MAX)) * 2 - 1;
         y = ((double)rand() / (RAND_MAX))*2 - 1;
         if(x*x + y*y <= 1)
         {
             nk++;
         }
     }
 
     cout << "Liczba pkt. w kole wynosi: " << nk << endl;
     cout << "Liczba pkt. w kwadracie wynosi: " << n << endl;
     s = 4 * (double)nk / n;
     cout << "Liczba pi wynosi: " << s;
}

tutaj VBA:

REM  *****  BASIC  *****
Function WylosujLiczbe(ByRef GranicaDolna As Short, ByRef GranicaGorna As Short) As Short
		Randomize()
		WylosujLiczbe1 = Int((GranicaGorna - GranicaDolna + 1) * Rnd() + GranicaDolna)
WylosujLiczbe2 = Int((GranicaGorna - GranicaDolna + 1) * Rnd() + GranicaDolna)
   End Function


Sub MonteCarlo()

MsgBox "Implementacja metody Monte Carlo w celu wyliczenia liczby Pi"

dim n as integer
dim nk as integer
dim x as double
dim y as double
dim s as double
dim Obliczenia as integer


nk = 0

n = InputBox("Wprowadź liczbę losowanych punktów:"
'MsgBox "sprawdzam dzialanie zmiennej" & n

For iLicznik = 0 to 1 and iLicznik <= n 
Next iLicznik


x = (WylosujLiczbe1*2) - 1 
y = (WylosujLiczbe2*2)  - 1

Obliczenia = z

If (x*x) + (y*y) <= 1 Then nk = nk+1


MsgBox " Liczba punktów w kole wynosi:" & nk
MsgBox " Liczba punktów w kwadracie wynosi:" & n
s = 4*(nk/n)
MsgBox "Liczba Pi to:" & n

End Sub

Nie mam pojęcia gdzie tkwi błąd. To moje pierwsze kroki z językiem.