Napadla mě ještě jedna věc, a to automatický zápis hodnoty "ano" do tabulky po odeslání emailu a hlavně kontrola proměnné TEXT zda není prázdná, aby nedocházelo k odesílání prázdné zprávy pokud bude u všech materiálů uvedena hodnota "ano".
Ahoj, tak přikládám svůj pokus. Vyzkoušej jestli Ti bude vyhovovat
Sub Vymaz_nezamcene_bunky_v_listech()
Dim c As Range
Dim List As Worksheet
For Each List In ThisWorkbook.Worksheets
For Each c In List.UsedRange
If c.Locked = False Then c.Value = ""
Next c
Next List
End Sub
Nevím, jestli to jde vůbec vyřešit
Nejde
Pavlus napsal/a:
@Stalker: V rámci jednoho sešitu je to OK. Jenom mě zarazilo, že ve stejném PC se v odlišných excelových souborech to rozložení barev může zobrazit jinak... Téma jsem poslal, protože nechápu ten důvod, mám jen jednu verzi Excelu.
Nějak sem nepochopil otázku. To se rozhodily barvy ve sloupcích v rámci jednoho souboru? Nebo se barvy mění pokud je totožný soubor otevřen na jiném PC?
Být tebou kouknul bych, jak jsou nastavené motivy (karta - rozložení stránky, pole - motivy -> barvy). Obrázek Paleta1 vypadá jako nastavení "kancelář".
Pokud je mi známo motiv je platný pro celý sešit.
To Elcha
Ano opravdu se jedná o (jeden) soubor ke knize Microsoft Office Excel 2007 Programování ve VBA. S Walkenbachem jsem osobně nemluvil, a opravdu si nebudu zakládat web kvůli jednomu souboru. Soubory ke knize VŠECHNY (to je všech 30 kapitol v zip archivu) jsou volně k dispozici na stránce nakladatelství (i po těch letech).
Vše je o to, že sem v dobré víře uvedl autora kódu. Když bych se na to vys...l mělo by to opačný efekt.
Pro tazatele pokud budeš chtít napiš SZ pošlu ti odkaz na nakladatelství. Abych tu zase někoho nedráždil.
Schválně sem to nepsal, jestli si toho všimneš. Je to opravdu ptákovina.
Chybějící lomítko v cestě k cílovému adresáři.
Taky mi trvalo než sem si toho všimnul.
Vyzkoušej.
S úpravou funkce neporadím, ale napadla mě jistá klička.
Vodorovnou matici dat převést někde na listu (skryté sloupce, nebo jiný list) pomocí funkce TRANSPOZICE na matici svislou a na tu použít vlastní funkci MEDIANIFS.
Pokud chceš od někoho radu, měl by si poskytnout informace. Nejlépe ve formě sešitu, kde bude vidět struktura dat.
Protože informace z této věty:
Range("A2:E11").Select - E11 bych potřeboval nahradit poslední buňkou, kde jsou na listu vyplněná nějaká data.
Můžou být dost zavádějící ...
Budu předpokládat, že na prvním řádku je záhlaví tabulky.
V tom případě může kód vypadat takto:
Sub test()
Dim SHL As Worksheet, SHT As Worksheet
Dim radek As Long, sloupec As Integer
Dim oblast As Range
Set SHL = Sheets("limito")
Set SHT = Sheets("přehled tankování")
With SHL.UsedRange
radek = .Rows.Count
sloupec = .Columns.Count
Set oblast = .Range(.Cells(2, 1), .Cells(radek, sloupec))
End With
oblast.Copy SHT.Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End Sub
Důrazně doporučuji testovat kód na kopii souboru !!!
Tady je ještě upravený soubor, který si složky pro uložení vytvoří sám, pokud neexistují. Změna je i v listu - přidán sloupec pro podadresář první úrovně. Pro správnou funkci je potřeba dodržet zápis s lomítky.
Pokud tedy není potřeba kódem vytvářet složky, tak by to mohlo vypadat takto:
Jen taková poznámka, nový sešit bych nevytvářel na začátku makra, ale na jeho konci. Data z listu Podklady přenést do listu Vzor bez neustálého přepínání oken. Takto vyplněný list poté uložit a vzorový list poté vyčistit.
Edit:
Přikládám soubor s pročištěným kódem. Zatím bez cyklu.
A co vlastní funkce?
https://www.youtube.com/watch?v=WdNzWUcYKyI
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.