Srovnání dvou tabulek EXCEL

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Blackdog1591
nováček
Příspěvky: 1
Registrován: leden 15
Pohlaví: Muž
Stav:
Offline

Srovnání dvou tabulek EXCEL

Příspěvekod Blackdog1591 » 13 led 2015 09:28

Zdravím Vám, potřeboval bych nutně poradit se srovnáváním dvou tabulek. Mám dvě tabulky vedle sebe. Potřebuji vyfiltroval shodné produkty podle čísla produktu a srovnat je vedle sebe. Jedná se o srovnání produktů ze dvou let. Ty produkty, které se koupily v roce 2011, ale nekoupily se v roce 2012 (a naopak), by se měly vymazat, nebo posunou pod toto srovnání(prostě aby se nepletly do této tabulky). Prosím o pomoc. Potřebuji to tento týden. Díky Honza
Přílohy
Sešit21.xlsx
(10.77 KiB) Staženo 59 x

Reklama
cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: Srovnání dvou tabulek EXCEL

Příspěvekod cmuch » 14 led 2015 13:22

Ahoj,
bude stačit takto?

Kód: Vybrat vše

Sub Porovnej()

  Dim BlkA As Range, BlkB As Range
  Dim CllA As Range, CllB As Range
  Dim shoda As Integer
 
  ' definovani bloku bunek na listech
    Set BlkA = ActiveSheet.Range(("a2:a") & Cells(Rows.Count, "a").End(xlUp).Row)
    Set BlkB = ActiveSheet.Range(("f2:f") & Cells(Rows.Count, "f").End(xlUp).Row)
   
  Application.ScreenUpdating = False
 
    shoda = 0 ' pocet shod
   
opak1:
      ' prochazet BlkA
      For Each CllA In BlkA.Cells
        ' prohledavat BlkB
        With BlkB
          Set CllB = .Find(CllA.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
          If CllB Is Nothing Then  ' pri shode porovnat sloupce f:f
            Range(CllA.Address).Resize(1, 3).Delete Shift:=xlUp
            GoTo opak1
          End If
        End With
      Next CllA
   
opak2:
      ' prochazet BlkB
      For Each CllB In BlkB.Cells
        ' prohledavat BlkA
        With BlkA
          Set CllA = .Find(CllB.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
          If CllA Is Nothing Then  ' pri shode porovnat sloupce f:f
            Range(CllB.Address).Resize(1, 3).Delete Shift:=xlUp
            GoTo opak2
          End If
        End With
      Next CllB
     
 
  Application.ScreenUpdating = True

MsgBox "   Uff, hotovo.", vbInformation

  ' odstranit objektove promenne
  Set CllB = Nothing
  Set CllA = Nothing
  Set BlkB = Nothing
  Set BlkA = Nothing
End Sub


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4832
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12250
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Jaký z těchto dvou notebooků vybrat?
    od Speed_dead » 10 říj 2024 21:49 » v Rady s výběrem hw a sestavením PC
    11
    1970
    od Speed_dead Zobrazit poslední příspěvek
    12 říj 2024 21:07
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4846
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3364
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti