VBA - find - proč makro nefunguje? Vyřešeno

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

Moderátor: Mods_senior

Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

VBA - find - proč makro nefunguje?

Příspěvekod Branscombe » 02 bře 2012 08:47

Ahoj, neví někdo proč mi makro v přiloženém souboru nevyhledá hodnotu Datum2 ve sloupci hodnot ?

Nějak s těmi vyhledávacími funkcemi poslední dobou bojuji :-/
Přílohy
find.xlsm
(13.24 KiB) Staženo 21 x
Naposledy upravil(a) Ltb dne 02 bře 2012 09:36, celkem upraveno 1 x.
Důvod: Doplnění nadpisu

Reklama
Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA - find

Příspěvekod Azuzula » 02 bře 2012 08:56

Ahoj,
možná to bude tím, že tam není makro? Nebo je to makro v jiném sešitu, ale v tomhle není a ani není jasné kde je v tomto dokumentu Datum2.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Re: VBA - find - proč makro nefunguje?

Příspěvekod Branscombe » 02 bře 2012 10:04

:-D No tím to možná bude .. Nevím kam zmizelo, když jsem to snad s ním ukládal nicméně tam bylo toto:

Kód: Vybrat vše

Option Explicit

Sub Vyhledej()

Dim Datum As Range, Datum2 As Range

Set Datum = Worksheets("List1").Range("C1")
With Worksheets("List1").Range("A1:A31")
    Set Datum2 = .Find(Mesic, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
End With

Datum2.Select

Set Datum = Nothing
Set Datum2 = Nothing

End Sub


Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA - find - proč makro nefunguje?

Příspěvekod Azuzula » 02 bře 2012 10:48

Použila bych následující.

Kód: Vybrat vše

Sub vyhledej()
Dim datum As Date
Dim oblast As Variant
Dim bunka As Variant

datum = Range("C1")
Set oblast = Range("A1:A31")

    For Each bunka In oblast
        If bunka = datum Then
        ActiveSheet.Cells(bunka.Row, 1).Select
        Exit For
        End If
    Next
End Sub

Prohledá zadanou oblast a označí buňku se shodou.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Re: VBA - find - proč makro nefunguje?

Příspěvekod Branscombe » 02 bře 2012 11:01

Hm... Díky, ale to mi neřeší můj problém, jelikož tohle je sakra zdlouhavé ! :-(

To je uplně jiné řešení, které jsem nepoužil, jelikož mi záleží na rychlosti a nemohu takto ztrácet čas v makru :-/

Neví někdo jak přizpůsobit vyhledávací příkaz Worksheets("").Range("").Find(....) ?

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA - find - proč makro nefunguje?

Příspěvekod Azuzula » 02 bře 2012 11:17

Nevím co je na tomhle zdlouhavé, i 3000 buněk zvládne během mžiku, ale je fakt, že přes milion buněk makru už pár sekund zabere.

Našla jsem tohle a funguje to nejspíš jak potřebujete. Stačí jen hledat.

Kód: Vybrat vše

Sub Find_First()
    Dim FindString As Date
    Dim Rng As Range
    FindString = CLng(Range("C1"))
    With Sheets("List1").Range("A:A")
        Set Rng = .Find(What:=FindString, _
                        After:=.Cells(.Cells.Count), _
                        LookIn:=xlFormulas, _
                        LookAt:=xlWhole, _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlNext, _
                        MatchCase:=False)
        If Not Rng Is Nothing Then
            Application.Goto Rng, True
        Else
            MsgBox "Nothing found"
        End If
    End With

End Sub
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

Uživatelský avatar
Branscombe
Level 3
Level 3
Příspěvky: 469
Registrován: červen 09
Pohlaví: Muž
Stav:
Offline

Re: VBA - find - proč makro nefunguje?  Vyřešeno

Příspěvekod Branscombe » 02 bře 2012 12:34

Tak už jsem zjistil proč toto funguje a to moje ne, bylo to v definování kam se má dívat, konkrétně "LookIn:=xlFormulas" .. Taková blbost, jinak díky za rady


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • proč nb nebere boot antivir
    od Stenatko » 03 dub 2025 00:19 » v Vše ostatní (bezp)
    5
    7894
    od Stenatko Zobrazit poslední příspěvek
    03 dub 2025 21:42
  • Problémy v síti na obrázku - proč nemůžou počítače komunikovat mezi sebou Příloha(y)
    od zuzana3 » 25 pro 2024 20:33 » v Administrace sítě
    7
    4854
    od zuzana3 Zobrazit poslední příspěvek
    25 pro 2024 22:23
  • Nefunguje nová PC
    od adoyss » 16 led 2025 05:06 » v Problémy s hardwarem
    7
    3552
    od martanius Zobrazit poslední příspěvek
    17 led 2025 02:29
  • T490s nefunguje trackpoint UPDATE Příloha(y)
    od Sadelník1234 » 17 led 2025 21:49 » v Problémy s hardwarem
    3
    3217
    od kecalek Zobrazit poslední příspěvek
    20 led 2025 16:00
  • Snímač otisku najednou nefunguje, laptop Příloha(y)
    od frisby » 17 srp 2024 22:18 » v Problémy s hardwarem
    1
    1675
    od frisby Zobrazit poslední příspěvek
    18 srp 2024 10:46

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

Kdo je online

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