Vyhledání hodnoty v oblasti a zápis do vedlejší buňky Vyřešeno

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

Moderátor: Mods_senior

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Vyhledání hodnoty v oblasti a zápis do vedlejší buňky

Příspěvekod m.niki » 02 říj 2010 20:55

Dobrý den, potřeboval bych poradit s makrem, které by v oblasti S3:S168 vyhledalo hodotu buňky A1, a potom o dvě buňky vedle a dvě buňky dolů od buňky obsahující hodnotu buňky A1, zapsalo hodnotu buňky B1. Takže v případě, že by hodnota buňky A1 byla v buňce S68, zapsala by se hodnota buňky B1 do buňky U70. Hodnota buňky A1 může být v žádné, jedné, nebo i více buňkách z výše uvedené oblasti. Děkuji moc za rady

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledání hodnoty v oblasti a zápis do vedlejší buňky

Příspěvekod mike007 » 02 říj 2010 21:36

A musí to být nutně makro? Na to stačí jednoduchý vzoreček s fcí KDYŽ (IF) + absolutní adresování.
Přílohy
pc-help_4733.xls
(24 KiB) Staženo 73 x
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Vyhledání hodnoty v oblasti a zápis do vedlejší buňky  Vyřešeno

Příspěvekod navstevnik » 02 říj 2010 21:37

Nas zakaznik, nas pan.
Poslouzi tato procedura:

Kód: Vybrat vše

Option Explicit

Sub NajdiDosad()
  Dim Blk As Range, BCll As Range
  Dim ACll As Range
  Dim FrstAddr As String
  With Worksheets("list1")
    Set ACll = .Range("a1")  ' zdroj
    Set Blk = .Range("s3:s168") ' definice prohledavaneho bloku
    ' prohledat blok
    With Blk
      Set BCll = .Find(ACll.Value, LookIn:=xlValues, LookAt:=xlWhole)
      If Not BCll Is Nothing Then  ' nalezena shoda
        FrstAddr = BCll.Address
        Do
          BCll.Offset(2, 2).Value = ACll.Offset(0, 1).Value  ' vlozit hodnotu z B1
          Set BCll = .FindNext(BCll)  ' hledat dal
        Loop While Not BCll Is Nothing And BCll.Address <> FrstAddr
      End If
    End With
  End With
  ' odstranit objektove promenne
  Set ACll = Nothing
  Set Blk = Nothing
  Set BCll = Nothing
End Sub

m.niki
Level 1
Level 1
Příspěvky: 60
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: Vyhledání hodnoty v oblasti a zápis do vedlejší buňky

Příspěvekod m.niki » 02 říj 2010 21:47

Oběma vám děkuji za rychlou reakci, makro to být musí, je to součástí většího projektu. Návštěvníku tvoje makro jsem ozkoušel a jako vždy funguje perfektně, díky moc.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

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

Kdo je online

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