Ach. Pravda.
Kazdopadne dekuji mnohokrat.
OK, v zásadě funguje, pouze nelze zadat název "T1", ale chce to po mě podtržítko "_T1".
PS: Omlouvám se za špatnou kategorii, všimnul jsem si, že jsem to nedal do fóra Excel, ale do nějakých mobilit. Kdyby to šlo přesunout ...
Ještě jsem zapomněl napsat, že by ty proměnné měly být použitelné na více listech jednoho Excelu současně (čili pokud možno definovat nad celým Excel souborem, ne jen nad jedním jeho listem).
Lze si nějak v Excelu předdefinovat písmenné proměnné, které by pak šly používat ve vzorcích?
Prakticky jde o to, že mám knihu svítidel, kde jsou desítky typů svítidel pod nějakým označením. Svítidlo T1 má třeba 36 W, svítidlo K2 má 58 W, atd.
Mým úkolem je ta svítidla napojit, a spočítat příkony.
Strašně by mi ulehčilo život, kdybych si na jednom místě (VBA? jinde? netuším jak) mohl nadefinovat ony příkony k jednotlivým typům, a ve vzorcích pak už jen používat ta písmenná označení.
Např. budu mít místnosti, ve kterých je 10 svítidel T1 a 5 svítidel K2.
Tak kdybych pak mohl napsat do buňky jen "= 10*T1 + 5*K2"
A Excel by mi spočetl výsledek 650 W.
A v okamžiku, kdy bych u svítidla T1 předefinoval, že nemá 36 W, ale 38 W, tak by se mi automaticky přepočítaly i všechny výsledky, kde je ve vzorci použito T1.
Jde to nějak udělat?
Tak nakonec po úporném zkoušení funkcí Excelu vyřešeno takto:
=RRI(2015-2000;1,08;1,36)
Mám dvě hodnoty.
Příkon 1,08 kW v roce 2000.
Příkon 1,36 kW v roce 2015.
Jak z těchto hodnot spočítat lineární roční nárůst v %?
Časové období je 15 let, a každý rok ta spotřeba rostla o stejné %.
Nedaří se mi přijít na to, jakým vzorcem to zjistit ...
Tak dlouho jsem si s tím lámal hlavu, až jsem na to přišel! :-)
Ten hlavní problém byl v tom, že pro počítání stránek tam má být HPageBreaks (a ne VPageBreaks) ...
Prosím prosím, neporadí mi někdo, jak tam ten výpočet propašovat? Marně si s tím lámu hlavu, moc by mi to pomohlo (protože to nyní všechno musím vypisovat vždy ručně, a samozřejmě v tom sekám chyby) ...
Ne.
Mám různé listy, které mají různé počty stran.
Každý z těchto listů může mít jiné počáteční číslo první strany, které se načítá vždy z buňky R6 každého listu.
Příklad:
List má třeba 3 tištěné strany.
V buňce R6 má zapsáno, že první list má číslovat od 4.
1. vytištěná strana má mít v pravém zápatí 4/6
2. vytištěná strana má mít v pravém zápatí 5/6
3. vytištěná strana má mít v pravém zápatí 6/6
Jiný list má třeba 4 tištěné strany.
V buňce R6 má zapsáno, že první list má číslovat od 2.
1. vytištěná strana má mít v pravém zápatí 2/5
2. vytištěná strana má mít v pravém zápatí 3/5
3. vytištěná strana má mít v pravém zápatí 4/5
4. vytištěná strana má mít v pravém zápatí 5/5
Neboli u každého listu je nutno:
- nejprve načíst, jaké číslo má mít první list
- pak zjistit kolik bude mít daný list stran
- podle toho dopočítat celkový počet listů (= číslo za lomítkem)
Kdybych nenačítal hodnotu .FirstPageNumber, tak je to jednoduché.
První strana by byla 1, poslední by byla "&N".
Jenže když je první strana nerovna 1 (ale třeba 6), tak je potřeba zvýšit celkový počet stran o tuto hodnotu. A tu hodnotu potřebuji nějak spočítat, což (jsa VBA lama) neumím (nějaké pokusy jsem zkoušel, ale marně).
Proto se na to ptám, jak to udělat :-)
Do toho .RightFooter se marně snažím všemožně dostat výpočet, ale pořád havaruju buď na nějaké chybě, anebo že to nic nepočítá:
.RightFooter = "&K808080" & "&P" & " / " & VPageBreaks.Count + FirstPageNumber
Jsem na VBA totální lama.
Tvořím zatím svůj druhý kód, čistě hledáním na internetu.
Snažím se ulehčit si život makrem, které by mi zapisovalo do zápatí hodnoty ze třech buněk listu, abych to nemusel pořád opisovat ručně (což musím dělat nyní).
V zásadě to funguje jak potřebuji, akorát troskotám na poslední věci, kterou se mi nedaří vyřešit (vím, bude to primitivní, ale neznám základní principy VBA, takže to neumím dohledat).
Jde o to, že v .RightFooter chci mít zapsáno "číslo stránky / celkem stránek". Ale s tím, že buňkou R6 definuji číslo první stránky. To si načíst do .FirstPageNumber umím. Ale nedaří se mi přijít na to, co napsat namísto "&N" tak, aby se mi celkový počet stran navýšil o ono číslo první strany (nečísluje se od jedné, ale třeba od 4, od 6, od 8, atd., čemuž je potřeba přizpůsobit i celkový počet stránek)
Sub Zapati()
With ActiveSheet.PageSetup
.LeftFooter = "&K808080" & Range("R4")
.CenterFooter = "&K808080" & "arch. č. " & "&B" & Range("R5")
.FirstPageNumber = Range("R6")
.RightFooter = "&K808080" & "&P" & " / " & "&N"
End With
End Sub
OK, pomohlo to.
Udělal jsem to přímo v Excelu, a Access to vzal.
Díky moc!
Dovolím si oprášit téma, když řeším to samé.
V Excelu mám sloupec s časovými hodnotami.
Např. 00:02:00, 00:03:00, atd.
Jenže zjišťuji, že toto zobrazení je tvořeno pouze formátováním Excelu. Ve skutečnosti tam jsou čísla 0,001388889 a 0,002083333. Což je problém, když daný Excel naimportuji do Acces, začne to házet nesmysly.
Jak z těch čísel v Excelu (0,001388889 a 0,002083333, atd.) vyrobit přímo v Excelu hodnoty času (00:02:00, 00:03:00, atd.), aby to šlo bez problému naimportovat do Access?
Wow, a přitom "taková blbost".
Děkuji mnohokrát, funguje.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.