Excel porovnat dva sloupce

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

Moderátor: Mods_senior

Zamčeno
Zhouba
nováček
Příspěvky: 10
Registrován: 26 pro 2008 10:08

Excel porovnat dva sloupce

Příspěvek od Zhouba »

Mám v listu sloupec A s cca 15000 řádky, sloupec B s cca 500 řádky. Potřeboval bych načíst hodnotu B2 a projet sloupec A, zda se tam hodnota nenachází. V případě, že ano, označit buňku barevně. Na konci sloupce A na prázdné buňce se vrátit se zpět do sloupce B, načíst další buňku a takto opakovat cyklus až do konce sloupce B. Už se s VBA mořím hodinu, ale na nic jsem nepřišel. Děkuji za pomoc.
Uživatelský avatar
mmmartin
Moderátor
Příspěvky: 9669
Registrován: 31 srp 2004 17:25
Bydliště: Praha

Re: Excel porovnat dva sloupce

Příspěvek od mmmartin »

označit buňku barevně.
Kterou, tu ve sloupci A, nebo tu ve sloupci B?
ASUS Prime Z390-P / Hexa Core Intel core i5 Coffee Lake-S / Gigabyte GeForce GTX 650 Ti / FORTRON BlueStorm Bronze 80PLUS / W 11
Zhouba
nováček
Příspěvky: 10
Registrován: 26 pro 2008 10:08

Re: Excel porovnat dva sloupce

Příspěvek od Zhouba »

Buňku ve sloupci A. Předem děkuji
cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: 02 bře 2011 19:12
Bydliště: Drsná Vysočina :D

Re: Excel porovnat dva sloupce

Příspěvek od cmuch »

Ahoj,
Vyzkoušej toto:

Kód: Vybrat vše

Sub VyhledatDoplnit()
  Dim BlkA As Range, BlkB As Range
  Dim CllA As Range, CllB As Range
  Dim frstAddr As String
  ' definovani bloku bunek na listech
  With Worksheets("list1")
    Set BlkA = .Range(("a1:a") & .Cells(.Rows.Count, "a").End(xlUp).Row)
  End With
  With Worksheets("list1")
    Set BlkB = .Range(("b1:b") & .Cells(.Rows.Count, "b").End(xlUp).Row)
  End With
  ' prochazet BlkA
  For Each CllA In BlkA.Cells
    ' prohledavat BlkB
    With BlkB
      Set CllB = .Find(CllA.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
      If Not CllB Is Nothing Then  ' pri shode obarvy
        frstAddr = CllB.Address
        Do
          If CllB.Offset(0, 0).Value = CllA.Offset(0, 0).Value Then  ' pri shode doplnit barvu
             CllA.Offset(0, 0).Interior.ColorIndex = 3 ' Oznaci barevne policka v bloku A
            'CllB.Offset(0, 0).Interior.ColorIndex = 3 ' Oznaci barevne policka v bloku B
          End If
          Set CllB = .FindNext(CllB)
        Loop While CllB.Address <> frstAddr
      End If
    End With
  Next CllA
  ' odstranit objektove promenne
  Set CllB = Nothing
  Set CllA = Nothing
  Set BlkB = Nothing
  Set BlkA = Nothing
End Sub
Zhouba
nováček
Příspěvky: 10
Registrován: 26 pro 2008 10:08

Re: Excel porovnat dva sloupce

Příspěvek od Zhouba »

Velice děkuji, pracuje to jak má. Na tohle bych těžko sám přišel ve svém věku (velice pozdním). :)
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14461 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7383 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    6181 Zobrazení
    Poslední příspěvek od lubo.
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5961 Zobrazení
    Poslední příspěvek od atari

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