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: 1544
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
  • Alternativy k připojení od O2/vodafone/t-mobile, srovnání
    od Micmen » 17 zář 2023 11:22 » v Administrace sítě
    10
    2812
    od mmmartin Zobrazit poslední příspěvek
    17 zář 2023 21:41
  • Fúze dvou PC
    od Luis » 10 čer 2023 15:04 » v Rady s výběrem hw a sestavením PC
    4
    679
    od petr22 Zobrazit poslední příspěvek
    11 čer 2023 13:51
  • Scan a tisk u dvou tiskáren
    od amirinda » 14 říj 2023 06:49 » v Vše ostatní (sw)
    12
    1971
    od amirinda Zobrazit poslední příspěvek
    14 říj 2023 16:39
  • Který z těchto dvou mobilů vybrat
    od Lukáš.v89 » 06 úno 2024 00:50 » v Mobily, tablety a jiná přenosná zařízení
    8
    942
    od Smile Zobrazit poslední příspěvek
    07 úno 2024 07:40
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6327
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31

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

Kdo je online

Uživatelé prohlížející si toto fórum: Google [Bot] a 7 hostů