Witam.
Napisałem makro do excela i chciałem je zrobić "przyjaznym" dla ludzi nie mających związku z programowaniem. Program ma porównać wartość komórki 1. z wartością komórki 2. i wypisać czy są takie same czy nie. Wszystko działało w oknie pisania makra w Excelu, natomiast w Visual Studio już nie chce. Problem w tym, że program działa aż do pewnego momentu, kiedy wywala taki błąd, do tego momentu wykonuje wszystkie instrukcje poprawnie:

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll

Additional information: Wywołanie zostało odrzucone przez wywoływanego. (Wyjątek od HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)) 

Doczytałem, że ten błąd pojawia się gdy wartość zmiennej jest równa niczemu (NULL). Co dziwne w tym przypadku linia błędu ma wszystkie zmienne z jakąś wartością: http://prntscr.com/43lulm. Na dodatek nie ma schematu kiedy wywali błąd, raz na 250 wierszu Excela raz na 90.

Przykładowe wartości jakie mam w tych dwóch kolumnach:

210/2	210/3
201	205
871/2	871/1
133/5	133/2
568/1	568
130/7	130/2
131/6	131
215/16	215/2,215/5
428/12	428/7

Kod programu

Dim i, c, b As Integer
        Dim zrodlo, ciag, komOk, komNie, znak1, znak2, arkusz, plik As String
        Dim NumerWiersza As Integer
        Dim NumerKolumnyZrodlo As Integer
        Dim NumerKolumnyCel As Integer
        Dim NumerKolumnyOk As Integer
        Dim NumerKolumnyNie As Integer

        plik = sciezka.Text
        arkusz = arkusz1.Text
        komOk = "To samo"
        komNie = "Inne"
        znak1 = ","
        znak2 = "."

        If kolZ.Text <> "" And kolC.Text <> "" And kolOk.Text <> "" And kolNie.Text <> "" Then

            xlWorkBook = xlApp.Workbooks.Open(plik)
            xlApp.Visible = True
            xlWorkSheet = xlWorkBook.Sheets(arkusz)

            uz1.Text = ""
            NumerKolumnyZrodlo = kolZ.Text
            NumerKolumnyCel = kolC.Text
            NumerKolumnyOk = kolOk.Text
            NumerKolumnyNie = kolNie.Text
            NumerWiersza = 1
            i = 0

            Dim aarray

            Do While xlWorkSheet.Cells(NumerWiersza, NumerKolumnyZrodlo).Value <> ""
                c = 0


                zrodlo = xlWorkSheet.Cells(NumerWiersza, NumerKolumnyZrodlo).Value 'tu zwraca błąd
                'Msgbox(zrodlo)


                ciag = xlWorkSheet.Cells(NumerWiersza, NumerKolumnyCel).Value
                If InStr(ciag, znak1) > 0 Then
                    aarray = Split(ciag, ",", -1, 1)
                    b = 2
                ElseIf InStr(ciag, znak2) > 0 Then
                    aarray = Split(ciag, ".", -1, 1)
                    b = 2
                Else
                    b = 1
                End If

                If b = 1 Then
                    If zrodlo = ciag Then
                        xlWorkSheet.Cells(NumerWiersza, NumerKolumnyOk).Value = komOk
                    Else
                        xlWorkSheet.Cells(NumerWiersza, NumerKolumnyNie).Value = komNie
                    End If

                ElseIf b = 2 Then
                    For i = 0 To UBound(aarray)
                        If zrodlo = aarray(i) Then
                            xlWorkSheet.Cells(NumerWiersza, NumerKolumnyOk).Value = komOk
                            c = 1
                        End If
                    Next i

                    If c <> 1 Then
                        xlWorkSheet.Cells(NumerWiersza, NumerKolumnyNie).Value = komNie
                    End If

                End If

                NumerWiersza = NumerWiersza + 1

            Loop

            got1.Text = "Gotowe"
        Else
            uz1.Text = "Uzupełnij wszystkie pola!"
        End If

Bardzo proszę o pomoc, siedzę już nad tym kilka dni ale vb ciągle się uczę.