< návrat zpět

MS Excel


Téma: Automatické psaní vzorců ve sloupci rss

Zaslal/a 27.11.2017 11:40

Dobrý den / Ahoj

Řeším, jak se vyhnout nepřímým odkazům touto cestou:

Private Sub Worksheet_Calculate()

If Cells(2, 4) = "ano" And Cells(2, 8) = "" Then Cells(2, 8) = "=B2"
End Sub

Moc by mi pomohlo, kdyby mi někdo poradil, jak udělat, aby makro fungovalo na sloupce: pokud ve sloupci 4 je "ano" a zároveň ve sloupci 8 stejného řádku není prázdná buňka, tak do stejného řádku ve sloupci 8 zapiš vzorec =B(číslo řádku).

Moc by mi to pomohlo, děkuji.

Zaslat odpověď >

#038501
Jeza.m
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Cells(Target.Row, 4) = "ano" And Cells(Target.Row, 8) = "" Then Cells(Target.Row, 8) = "=B" & Target.Row
Application.EnableEvents = True
End Sub

M@citovat
#038503
avatar
Maličko bych ten kód upravil, aby se události vypínaly jen v případě potřeby:

Private Sub Worksheet_Change(ByVal Target As Range)
if Cells(Target.row,4) = "ano" and Cells(Target.Row, 8) = "" Then
Application.EnableEvents = False
Cells(Target.Row, 8) = "=B" & Target.Row
Application.EnableEvents = True
End If
End Sub

Nebo bych ty události nevypínal vůbec a nechal tu událost proběhnout dvakrát.citovat
#038504
avatar
Děkuji za rady, skvělá práce! ještě jsem zapomněl dodat, že neklikám do řádku, ale hodnota ano je ze vzorce, tudíž vůbec neklikám do řádků dalo by se to udělat automaticky? na základě toho, že je vzorec v buňce? A pokud je v poli například "B2" napsán 28.8.2017, tak aby se propsala hodnota ideálně, může být i ten vzorec.citovat
#038508
avatar
Vzorec v 8.sloupci by způsobil, že každé přepsání B2 by se promítlo do všech buněk 8.sloupce (to asi nechcete). Lze ale napsat makro, aby změna v B2 vyvolala ve všech řádcích definované tabulky, kde 8.sloupec je ještě prázdný, jeho zaplnění hodnotou z B2. Jestli je to podle Vašeho záměru, napíšu Vám to.
Také umím napsat makro, které by pro každý nový řádek tabulky převzalo do jejího 8.sloupce automaticky aktuální hodnotu z B2. Vyberte si.citovat
#038509
avatar
Můj záměr je, aby makro reagovalo na "ano" ve sloupci, může reagovat klidně na přepsání B2, ale chci přehodnotit celý 8 sloupec, za splnění podmínek => převzetí aktuální hodnoty z řádku sloupce B. :)citovat
#038510
avatar
Přestal jsem hloubat nad smyslem Vašeho zadání a pokusil jsem se dodržet ho v té podobě, jak jsem ho pochopil.
Příloha: zip38510_doplndatum.zip (14kB, staženo 33x)
citovat
#038517
avatar
Trošku jsem to upravil a již funguje naprosto perfektně, jak jsem potřeboval, moc děkuji :) akorát by to nemuselo psát ty vzorce, pouze hodnoty.
Příloha: zip38517_kopie-doplndatum.zip (1kB, staženo 38x)
citovat
#038518
avatar

Dejwing napsal/a:

Trošku jsem to upravil


Hmmm, zajímavá příloha. 5citovat

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