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

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

Moderátor: Mods_senior

woyen
nováček
Příspěvky: 2
Registrován: září 10
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod woyen » 15 zář 2010 00:34

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

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 15 zář 2010 01:29

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: září 10
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod woyen » 15 zář 2010 10:40

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: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

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

Příspěvekod navstevnik » 15 zář 2010 11:35

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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4774
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12191
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4613
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3317
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Excel 2016 - vzorec kombinace podmínek Příloha(y)
    od MK_Vs » 08 led 2025 17:56 » v Kancelářské balíky
    5
    4071
    od lubo. Zobrazit poslední příspěvek
    14 led 2025 00:51

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ů