Ad 1 = Vyřešit lze například přes funkce ČÁST, NAJÍT, DÉLKA. Případně si lze pohrát s funkcemi ZLEVA/ZPRAVA, NAJÍT.
P.
Zavřít a znovu otevřít sešit. Triviální, ale účinné ;-).
P.
Když uděláte přesně to, co jsem napsal, tak to fungovat bude, stačí jenom dodržet instrukce...
P.
Viz příloha:
Lze toho dosáhnout přes zámek listu - je zde volba "Vybrat uzamčené buňky", kterou jde před zamknutím zrušit.
P.
Návod k zamknutí listu jsem dával případně zde:
http://wall.cz/index.php?m=topic&id=43052
Já bych dal před samotné přejmenování listu příkaz:
On Error Resume NextPokud budeš mít již název použitý, tak se nic nestane, v opačném případě se ti list přejmenuje. Dva stejně nazvané listy současně mít nelze.
P.
1.) Vybrat buňky, které se nemají zamykat, a ve Formátu buněk na kartě "Zámek" odškrtnout "Uzamknout".
2.) Karta Revize / Zamknout list.
P.
Podle mě nejlepším řešením je přidat do záhlaví tabulky označení roků a sčítat to pak přes funkci SUMIFS.
Pokud bys vyloženě chtěl skládat nějaké dynamické oblasti součtů, tak k tomu lze využít funkce NEPŘÍMÝ.ODKAZ a ODKAZ.
P.
Něco asi děláš špatně, případně jsi problém nespecifikoval přesně ;-). S výše uvedeným nemá funkce SVYHLEDAT problém...
P.
Př.:
=SVYHLEDAT(R1; E:N; 10; NEPRAVDA)
K tomuto je potřeba nastudovat si práci s kolekcemi.
P.
Př.:
Sub Prevod_na_procenta()
Dim bunka As Range
Dim oblast As Range
Set oblast = Selection
For Each bunka In oblast
bunka.Value = bunka.Value / 100
bunka.NumberFormat = "0.0 %"
Next bunka
End Sub
Základní logika může být takováto, kód vložit na příslušný list, nastaveno pouze pro sloupec "D".
P.
Př.:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 4 Then
ActiveSheet.Range(Target.Address).Value = ActiveSheet.Range(Target.Address).Value / 100
End If
Application.EnableEvents = True
End Sub
K tomuto doporučuji nastudovat funkce NEPŘÍMÝ.ODKAZ a ODKAZ.
P.
Pro Office 2010 funguje mimochodem klasicky bez makra Data / Z webu. Žádnou úpravu webové adresy mi to nedělá a v rámci makra si tak maximálně dotaz obnovím.
Používáme bez problému už dva roky v práci ;-).
P.
Pokud chceš získat pouze text z buňky, tak proč je odkaz obalen funkcí SUMA? To je příčinou celého problému ;-)...
Nula se ti přes odkaz na buňku standardně zobrazí pouze v případě, že se odkazuješ na prázdnou buňku.
P.
Předpokládám, že hledáte funkci SUMIFS.
P.
Jde toho dosáhnout přes událost listu, vložit kód do List2.
P.
Např.:
Private Sub Worksheet_Activate()
Dim adresa_bunky As String
Application.EnableEvents = False
Sheets(List1.Name).Select
adresa_bunky = ActiveCell.Address
Sheets(List2.Name).Select
Sheets(List2.Name).Range(adresa_bunky).Select
Application.EnableEvents = True
End Sub
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.