Stránka 1 z 1

Excel porovnat dva sloupce

Napsal: 02 pro 2011 20:24
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.

Re: Excel porovnat dva sloupce

Napsal: 03 pro 2011 09:17
od mmmartin
označit buňku barevně.
Kterou, tu ve sloupci A, nebo tu ve sloupci B?

Re: Excel porovnat dva sloupce

Napsal: 03 pro 2011 09:22
od Zhouba
Buňku ve sloupci A. Předem děkuji

Re: Excel porovnat dva sloupce

Napsal: 03 pro 2011 12:42
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

Re: Excel porovnat dva sloupce  Vyřešeno

Napsal: 03 pro 2011 13:45
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). :)