vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest poniedziałek, 29 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Porównanie tablic


otwartyotwarty rozpoczął: Blaszka_P postów: 2



napisał: Trebor
postów: 1209


umieszczony:
16 lipca 2012
16:42

edytowany:
16 lipca 2012
16:43

  
Coś po kodzie niezbyt łapię ideę.
Myślę, że z pliku tekstowego można załadować dane do unikatów. Następnie z pliku excela dopisać dane do tych samych unikatów. Na końcu unikaty przepisać do listboxa. Czy tak może być?
napisał: Blaszka_P
postów: 112


umieszczony:
15 lipca 2012
19:13

  
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


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z