EXCEL: vnořená funkce pro vyvolání makra

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

Moderátor: Mods_senior

Odpovědět
woyen
nováček
Příspěvky: 2
Registrován: 15 zář 2010 00:23

EXCEL: vnořená funkce pro vyvolání makra

Příspěvek od woyen »

Dobrý den,

řeším problém, jak do funkce KDYŽ vnořit funkci pro vyvolání makra.

Konkrétně nyní mám složenou funkci založenou na SVYHLEDAT a KDYŽ, která z několika listů po x operacích nakonec naplní hodnoty do daného pole. SVYHLEDAT přiřazuje z oblastí s nenulovými hodnotami, a když nenajde, háže N/A, které je ošetřeno funkcí KDYŽ, aby v takovém případě dosazovalo 0. Tuto 0 bych potřeboval nahradit prázdným políčkem šedé barvy. Jako laický uživatel tipuju, že se bude jednat o nějakou funkci Call pro vyvolání makra, které zašediví buňku, vnořenou do funkce KDYŽ namísto té nuly. Bohužel neumím ve VBA, abych funkci call udělal a vnořil jí.

Poradí někdo? Díky za odpovědi.

VS
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: EXCEL: vnořená funkce pro vyvolání makra

Příspěvek od navstevnik »

Postaci moznosti listu, pouzij podminene formatovani, podminka vzorec: hodnota v bunce je 0 (=A1=0), nastav barvu pisma a pozadi na pozadovanou barvu.

Doplneno: 15.9.10
V podminenem formatu pro napr. bunku C3 pouzij vzorec: =A(C3=0;JE.ČISLO(C3)); vraci-li v bunce C3 vlozena funkce hodnotu 0, je podminka splnena - PRAVDA, jinak NEPRAVDA
Naposledy upravil(a) navstevnik dne 15 zář 2010 10:41, celkem upraveno 1 x.
woyen
nováček
Příspěvky: 2
Registrován: 15 zář 2010 00:23

Re: EXCEL: vnořená funkce pro vyvolání makra

Příspěvek od woyen »

Přes podmíněné formátování to nyní řeším, ale to zase způsobuje problémy v dalších operacích s dokumentem.
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: EXCEL: vnořená funkce pro vyvolání makra

Příspěvek od navstevnik »

Zmena funkcni hodnoty v bunce vlozene funkce nevyvola udalost.
Obecne lze pouzit zmenu v bunce, na kterou ona vlozena funkce odkazuje, k vyvolani udalosti, tedy zmena v bunce, ktera spousti tu slozenou funkci SVYHLEDAT(...).
Priklad (vzhledem k obecnemu uvedeni pozadavku obecne): Zmena v bunce A1 vyvola zmenu funkcni hodnoty v C6. Udalostni procedura pak upravi v bunce C6 barvu pozadi v zavislosti na vysledne funkcni hodnote.
V editoru VBA (Alt+F11) vloz do modulu prislusneho listu (kde mas v C6 funkci vracejici ciselnou hodnotu):

Kód: Vybrat vše

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Then
    With Me.Range("c6")
      If .Value = 0 Then
        .Interior.ColorIndex = 15
      Else
        .Interior.ColorIndex = xlNone
      End If
    End With
  End If
End Sub


ja na VBA? Zacni treba zde: http://www.officir.ic.cz/excelentne.html
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14474 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7395 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    6193 Zobrazení
    Poslední příspěvek od lubo.
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5977 Zobrazení
    Poslední příspěvek od atari

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