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-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    514
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2656
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44
  • vyvolani fotek online - starsi fotky nelze presunout do PC
    od p3v4x » 04 črc 2023 21:47 » v Vše ostatní (Off topic)
    1
    1886
    od petr22 Zobrazit poslední příspěvek
    11 črc 2023 13:12
  • ErP - ,,nebezpečná" funkce? Příloha(y)
    od DifiCZ » 05 lis 2023 12:26 » v Vše ostatní (sw)
    11
    2560
    od WolfGunCZ Zobrazit poslední příspěvek
    09 lis 2023 13:16
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6496
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 44 hostů