< návrat zpět

MS Excel


Téma: Worksheet_Change rss

Zaslal/a 27.7.2023 13:51

Dobrý den, nedaří se mi spustit kód, který si myslím, že mám správně umístěný a který by měl reagovat na každou změnu buňky na listu Karta majetku.

Ve VBA mám kód, který by měl po spuštění dohledat ve sloupci B na listu Seznam majetku pořadové číslo a následně doplnit označení majetku, které odpovídá řádku ve kterém našel shodu ,do buňky D6. Bohužel mi kód nereaguje na změny v sešitu. můžete se podívat, kde by mohl být problém ?

Bohužel nejsem schopen přiložit soubor s podporou maker. Prostě se nepřidá, dávám tedy kód sem:

Private Sub Worksheet_Change(ByVal Target As Range)
' Proveď přepočet pouze pokud změna proběhla na listu "Karta majetku" a nebyl již proveden přepočet
If Me.Name = "Karta majetku" And Not Me.Application.EnableEvents Then
Dim wsSeznamMajetku As Worksheet
Set wsSeznamMajetku = ThisWorkbook.Sheets("Seznam majetku")

' Vypnout spouštění událostí, abychom zabránili nekonečnému volání
Application.EnableEvents = False

' Získat hodnotu z buňky D11
Dim searchText As Variant
searchText = Me.Range("D11").Value

' Najít hodnotu buňky D11 na listu "Seznam majetku" ve sloupci B
Dim foundCell As Range
Set foundCell = wsSeznamMajetku.Range("B:B").Find(searchText, LookIn:=xlValues, LookAt:=xlWhole)

' Pokud byla hodnota nalezena, zapsat odpovídající hodnotu ze sloupce J do buňky D6
If Not foundCell Is Nothing Then
Me.Range("D6").Value = foundCell.Offset(0, 8).Value ' Sloupec J (8 sloupců vpravo od sloupce B)
Else
' Pokud hodnota nebyla nalezena, vymazat obsah buňky D6
Me.Range("D6").ClearContents
End If

' Povolit spouštění událostí
Application.EnableEvents = True
End If
End Sub

Děkuji

Zaslat odpověď >

#055243
avatar
soubor s makry nutný zazipovat.citovat
#055244
avatar
If Me.Name = "Karta majetku" And Not Me.Application.EnableEvents Then

Me.Application.EnableEvents má počáteční hodnotu PRAVDA

nemělo by být správně bez "Not" ?
If Me.Name = "Karta majetku" And Me.Application.EnableEvents Thencitovat
#055245
elninoslov
Veď to môžete urobiť vzorcom VLOOKUP alebo MATCH+INDEX.
Hoďte nejakú prílohu do toho ZIP-u.citovat
#055246
avatar
Posílám tedy zazipovaný sešit.citovat
#055247
avatar
Zkusím takto.citovat
#055248
avatar
Bohužel se mi nedaří připnout ani .zip.
Žádná chyba... soubor je vybraný, ale zpráva se odešle bez přílohy. Zkusím tedy poslat link:

www.uschovna.cz/zasilka/LUKMJYJ8VWAPHR94-2ZUcitovat
#055249
elninoslov
Príloha bola veľmi veľká, preto Vám ju nezobralo ani v ZIP. Treba prílohu vždy skrátiť pod 300 kb (neviem presný limit). Stačí odmazať tie tisíce riadkov.

Na takýto výpis to makro nepotrebujete. Stačí vzorec.
Příloha: zip55249_f_40_karta-svereneho-majetku.zip (95kB, staženo 5x)
citovat
#055250
avatar
Aha, škoda že to nenapíše žádnou chybu.

Každopádně díky za pomoc, vzorcem to také bude stačit.citovat
#055252
elninoslov
Nie som už na mojom PC, tak len z mobilu...
Samozrejme, že to chybu napisať môže. Stačí vzorec obaliť do IFERROR() funkcie.
Samozrejme, že to ide makrom. Pozeral som na tie makrá. No, keď pridem, tak Vám to prerobím. Nemáte tam napr. dobrú kontrolu pri zmene na liste, ale hlavne Vám to pomocou Spinneru nefunguje preto, lebo Spinner nevyvolá udalosť zmeny listu. Napriek tomu, že mení prepojenú bunku. Treba mu priradiť makro, ktoré iba tú bunku znovu prepíše sebou.
Atď...citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje