< návrat zpět

MS Excel


Téma: Status rss

Zaslal/a 10.10.2019 7:27

LugrAhoj,

mám tabulku s úkoly.

Ve sloupci "P" zadám datum a do sloupce "S" bych potřeboval makrem zapsat "hotovo". Nelze to udělat vzorcem, protože ve sloupci "S" mám seznam (Ověření dat).

Nějaký makro jsem tam napsal, ale je nefunkční blbost. 8

Děkuji za pomoc.

Příloha: zip44504_status.zip (16kB, staženo 27x)
Zaslat odpověď >

Strana:  « předchozí  1 2 3
#044534
avatar

lugr napsal/a:

No jo, já si trubka otevřel ten předchozí.

To je ono.

Moc děkuji a omlouvám se, že jsem tak otravoval.


Rád jsem pomohl 1citovat
#045835
Lugr
Dobrý den,

mohli by jste mi prosím pomoci s úpravou makra?

Myslel jsem, že makro jednoduše upravím a bude fungovat, ale opět jsem tvrdě narazil.

Do sloupce P by se mělo automaticky vkládat "ne" pokud je hodnota ve sloupci R vyšší jak 14.

A ještě když přidávám řádky do tabulky, makro hodí chybu, nevím proč.

Děkuji za pomoc
Příloha: zip45835_status.zip (17kB, staženo 18x)
citovat
#045836
elninoslov
Veď ale Vy máte v R vzorec, teda musíte testovať zmenu v manuálne menených bunkách, ktoré ten vzorec používa. Vzorec používa Q a D. D je manuálne menený, no Q je vzorec, ktorý používa E, a to je manuálne menené. Teda sledované bunky vo Worksheet_Change musia byť všetky manuálne, a teda D a E. Stĺpce D a E reprezentujú vo Vašej Tabuľke "Tabulka2" stĺpce 3 4 (Datum, šarže).
-Teda test zmeny v týchto dvoch,
-Prenesenie na stĺpec R - teda v Tabulka2 číslo 17 (Měsíc),
-Overenie trvania >14 a prenesenie na stĺpec P - teda v Tabulka2 je to posun o -2 stĺpce,
-Zápis "ne"
PS: ---Prípadné ošetrenie hromadného zápisu do viac buniek

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ChangeAreaDE As Range, ChangeAreaR As Range, SubArea As Range, Cell As Range, FinalAreaP As Range, Hodnota

Set ChangeAreaDE = Intersect(ListObjects("Tabulka2").DataBodyRange.Columns(3).Resize(, 2), Target)

If Not ChangeAreaDE Is Nothing Then
Set ChangeAreaR = Intersect(ListObjects("Tabulka2").DataBodyRange.Columns(17), ChangeAreaDE.EntireRow)

If Not ChangeAreaR Is Nothing Then
For Each SubArea In ChangeAreaR.Areas
For Each Cell In SubArea.Cells
Hodnota = Cell.Value
If Hodnota <> "" And Hodnota > 14 Then
If FinalAreaP Is Nothing Then Set FinalAreaP = Cell.Offset(0, -2) Else Set FinalAreaP = Union(FinalAreaP, Cell.Offset(0, -2))
End If
Next Cell
Next SubArea

If Not FinalAreaP Is Nothing Then
Application.EnableEvents = False
FinalAreaP.Value = "ne"
Application.EnableEvents = True
End If
End If

End If
End Sub

Nečítal som celé vlákno, teda možno treba ešte niečo doplniť/zmeniť. Otestujte.citovat
#045837
Lugr
Je to bomba. 1

Moc děkuji.citovat

Strana:  « předchozí  1 2 3

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