Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 64408 Skopiuj do schowka Duplikaty do 3 dni
Autor Wiadomość
przemomakro 
Starszy Forumowicz


Posty: 49
Wysłany: 13-03-2019, 09:36   Duplikaty do 3 dni

Witam. Chciałbym aby w komórce A(Duplikat) wstawiany było tekst Tak lub Nie.
Makro ma szukać po dacie i kwocie duplikatów z dwóch różnych źródeł oraz jeżeli przesunięcie daty występuje do 3 dni.

dupliakat 3 dni.xlsm
Pobierz Plik ściągnięto 9 raz(y) 9.98 KB

ID posta: 364077 Skopiuj do schowka
 
 
minijack 
Exceloholic


Pomógł: 65 razy
Posty: 180
Wysłany: 13-03-2019, 10:52   

do komórki a2 wstaw:
Kod:
=JEŻELI(LICZ.WARUNKI(D:D;D2;E:E;E2;F:F;F2;C:C;">="&C2-3;C:C;"<="&C2+3)>1;"TAK";"NIE")

i wypełnij w dół
liczy +-3 dni
ID posta: 364096 Skopiuj do schowka
 
 
przemomakro 
Starszy Forumowicz


Posty: 49
Wysłany: 13-03-2019, 15:14   

wszystko fajnie działa. tylko przy 10tys troche muli ;)

a powiedz jeszcze jak dołożyć źródło? tzn. jeżeli źródło jest inne a reszta sie duplikuje tak ja wyżej a jeżeli źródło jest takie same robi TAK tylko NIE. wrzuce do pliku

dupliakat 3 dni.xlsm
Pobierz Plik ściągnięto 5 raz(y) 10.57 KB

ID posta: 364128 Skopiuj do schowka
 
 
minijack 
Exceloholic


Pomógł: 65 razy
Posty: 180
Wysłany: 14-03-2019, 10:24   

formuły w na takiej ilości mogą mulić :-)
można to zrobić w VBA i odpalać sprawdzenie w razie potrzeby
wtedy nie będzie przy każdej zmianie wartości przeliczać tych formuł
w arkuszu1 wersja z formułami
w arkuszu 2 wersja VBA

Kopia dupliakat 3 dni.xlsm
Pobierz Plik ściągnięto 6 raz(y) 22.44 KB

  
ID posta: 364204 Skopiuj do schowka
 
 
kuma 
Excel Expert


Pomógł: 1163 razy
Posty: 3482
Wysłany: 14-03-2019, 11:25   

Spróbuj tak.
Kod:
Sub Duplikaty_3dni_kuma()
    Dim i As Long, ii As Integer
    Dim d As Object
    Dim a()
    Dim ms As String, ms1 As String

    Set d = CreateObject("scripting.dictionary")
    With Sheets("Arkusz1")
        a = .Range("A2:D" & .Cells(Rows.Count, "C").End(3).Row).Value
        For i = 1 To UBound(a)
            a(i, 1) = "NIE"
            ms = a(i, 3) & "_" & a(i, 4)
            If Len(ms) > 0 Then d(ms) = Empty
        Next
        For i = 1 To UBound(a)
            ms1 = a(i, 3) & "_" & a(i, 4)
            For ii = -3 To 3
                ms = a(i, 3) + ii & "_" & a(i, 4)
                If d.exists(ms) And ms <> ms1 Then
                    a(i, 1) = "TAK"
                    Exit For
                End If
            Next
        Next
        .[A2].Resize(UBound(a), 1) = a
    End With
    Set d = Nothing
End Sub
Pozdrawiam.
ID posta: 364207 Skopiuj do schowka
 
 
przemomakro 
Starszy Forumowicz


Posty: 49
Wysłany: 14-03-2019, 11:42   

Kod:
Sub Duplikaty_3dni_kuma()
    Dim i As Long, ii As Integer
    Dim d As Object
    Dim a()
    Dim ms As String, ms1 As String

    Set d = CreateObject("scripting.dictionary")
    With Sheets("Arkusz1")
        a = .Range("A2:D" & .Cells(Rows.Count, "C").End(3).Row).Value
        For i = 1 To UBound(a)
            a(i, 1) = "NIE"
            ms = a(i, 3) & "_" & a(i, 4)
            If Len(ms) > 0 Then d(ms) = Empty
        Next
        For i = 1 To UBound(a)
            ms1 = a(i, 3) & "_" & a(i, 4)
            For ii = -3 To 3
                ms = a(i, 3) + ii & "_" & a(i, 4)
                If d.exists(ms) And ms <> ms1 Then
                    a(i, 1) = "TAK"
                    Exit For
                End If
            Next
        Next
        .[A2].Resize(UBound(a), 1) = a
    End With
    Set d = Nothing
End Sub


robi mi TAK jeżeli daty są różne , kwota jest taka sama tekst1 i tekst2 taki sam, a powinno zrobić NIE bo źródło jest takie same może dlatego że źródło jest "TEKST" a nie liczba
Ostatnio zmieniony przez przemomakro 14-03-2019, 11:57, w całości zmieniany 4 razy  
ID posta: 364209 Skopiuj do schowka
 
 
przemomakro 
Starszy Forumowicz


Posty: 49
Wysłany: 14-03-2019, 11:44   

minijack napisał/a:
formuły w na takiej ilości mogą mulić :-)
można to zrobić w VBA i odpalać sprawdzenie w razie potrzeby
wtedy nie będzie przy każdej zmianie wartości przeliczać tych formuł
w arkuszu1 wersja z formułami
w arkuszu 2 wersja VBA


błąd mi wyskakuje przy Msgbox
Compile error:
Fucntion call on left-hand side of assignment must return Varian or Object



funkcja działa dobrze
  
ID posta: 364210 Skopiuj do schowka
 
 
minijack 
Exceloholic


Pomógł: 65 razy
Posty: 180
Wysłany: 14-03-2019, 13:41   

przepraszam nie sprawdziłem
jest tam niepotrzebny znak =

Kopia dupliakat 3 dni.xlsm
Pobierz Plik ściągnięto 7 raz(y) 24.11 KB

ID posta: 364220 Skopiuj do schowka
 
 
kuma 
Excel Expert


Pomógł: 1163 razy
Posty: 3482
Wysłany: 14-03-2019, 15:01   

Takie warunki miały być na początku
przemomakro napisał/a:
Makro ma szukać po dacie i kwocie duplikatów z dwóch różnych źródeł oraz jeżeli przesunięcie daty występuje do 3 dni.
przemomakro, dla mnie z cytowanego opisu, wynika, że jeżeli daty są takie same lub mieszczą się w 3 dniach, kwota jest taka sama oraz jest różne źródło (kol.B) to jest duplikat!
Co ma do rzeczy Tekst1 i Tekst2?
Pozdrawiam.
ID posta: 364225 Skopiuj do schowka
 
 
przemomakro 
Starszy Forumowicz


Posty: 49
Wysłany: 14-03-2019, 21:27   

kuma napisał/a:
Takie warunki miały być na początku
przemomakro napisał/a:
Makro ma szukać po dacie i kwocie duplikatów z dwóch różnych źródeł oraz jeżeli przesunięcie daty występuje do 3 dni.
przemomakro, dla mnie z cytowanego opisu, wynika, że jeżeli daty są takie same lub mieszczą się w 3 dniach, kwota jest taka sama oraz jest różne źródło (kol.B) to jest duplikat!
Co ma do rzeczy Tekst1 i Tekst2?
Pozdrawiam.


chodzi o to ze musi brać wszystko pod uwagę , bo duplikatem w moim przypadku bedzie ten rekord który jest z dwóch różnych źródeł. jeżeli są z tego samego choc jest duplikatem nie może być duplikatem :)

troche to dziwne ale cóż

minijack wyszło dobrze na funkcji i makrze (chodź ma dłuższe)
ID posta: 364255 Skopiuj do schowka
 
 
przemomakro 
Starszy Forumowicz


Posty: 49
Wysłany: 15-03-2019, 08:04   

minijack napisał/a:
przepraszam nie sprawdziłem
jest tam niepotrzebny znak =


makro nie działa :(
ID posta: 364268 Skopiuj do schowka
 
 
minijack 
Exceloholic


Pomógł: 65 razy
Posty: 180
Wysłany: 15-03-2019, 11:04   

spróbuj teraz

Kopia dupliakat 3 dni.xlsm
Pobierz Plik ściągnięto 4 raz(y) 24.12 KB

ID posta: 364292 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe