Witam
Mam problem z porównaniem 2 tablic o rożnych wielkościach a następnie wstawienie danych do ListBox, chciałbym aby dane które pokrywają się w tablicach nie były wstawione do ListBox
Próbowałem ale nie za bardzo wiem jak to logicznie rozwiązać.
Na początku odczytuje plik txt i wpisuję do tablicy (Tablica_Przeg(Ilosc_prze)) Nr testera a następnie z kolumny w pliku xls robię to samo do drugiej tablicy
Oto mój kod
Private Sub UserForm_Initialize()
Dim unikaty As New Collection, i As Long
Dim wartosc As String
Dim Licznik, ost As Long
Dim Przeglad_TESTEOW As String
Dim Tablica_Przeg()
' język
With Sheets("jezyk")
End With
For i = 1 To 31
Od_Data.AddItem (i)
Do_Data.AddItem (i)
Next i
' Sprawdza plik i wyszukuje nazwy testera
If LenB(Dir$("C:\Przeglad_tester.prze")) Then
Przeglad_TESTEOW = "C:\Przeglad_tester.prze"
Open Przeglad_TESTEOW For Input As #1 'Otwiera plik
Do Until EOF(1)
Line Input #1, data
data = Replace(data, """", "")
dane = Split(data, ",")
TESTER_plik = dane(0)
Ilosc_prze = Ilosc_prze + 1
ReDim Preserve Tablica_Przeg(Ilosc_prze)
Tablica_Przeg(Ilosc_prze) = TESTER_plik ' Pierwsza tablica z danymi
Loop
Close #1
Else
MsgBox Sheets("jezyk").Cells(677, 1).Value
Exit Sub
End If
' koniec
With Sheets("spis")
' wypełnia listbox dla nr testera
ost = .Range("C65536").End(xlUp).Row
TextTS.Clear
On Error Resume Next
For i = 9 To ost
Tablica = .Cells(i, 3).Value & " * " & .Cells(i, 16).Value
unikaty.Add Tablica, CStr(Tablica) ' druga tablica z danymi
Next i
On Error GoTo 0
For i = 1 To unikaty.count
wartosc = Mid(unikaty(i), 1, 2)
If wartosc = "" Or wartosc = "MA" Or wartosc = " *" Then
Else
TextTS.AddItem unikaty(i) ' Tu wstawiam dane do ListBox
Licznik = Licznik + 1
End If
Next i
End With
Info = "Znaleziono" & " " & Licznik & " " & "testerów"
End Sub
Proszę o jakąś podpowiedź
Dziękuję
Pozdrawiam |