The blank line at the end is not a real blank line, the problem is occurs when you use the Split() statement. The problem is because you use the Print() method, to save the values, so the last line will be the last value and an CrLF. The Split() just recognizes this last CrLF as a new value, so it will read it as empty, because nothing is left.

Its better to skip the last line, by decreasing the for...next by 1.

Code:
For IntLic = 7 To UBound(data) - 1
Or you can format the last line in your saving routine

Code:
For i = 0 To Combo1.ListCount - 2
  Print #intNumPlik, Combo1.List(i)
Next
Print #intNumPlik, Combo1.List(Combo1.ListCount - 1);
The ; closing in the Print method prevents to placing a closing crlf at the end of the value.