Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 60

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

Řešením je funkce IFERROR, do které "zabalíš" použitou funkci SVYHLEDAT.
P.

Můžeš si například vytvořit vlastní formulář, který se zobrazí místo Msgboxu.
P.

Důvod:
Windows("Sešit1").ActivateI když po prvním vygenerování nově vytvořený sešit zavřeš, tak další sešit, který se ti vytvoří, již nebude Sešit1, ale Sešit2, Sešit3 atd. Tak je to v Excelu implicitně přednastaveno.
P.

Řešením je metoda PasteSpecial - Operation:=xlPasteValues.
P.

Příkaz Select.
P.

Možným řešením obou dotazů je adresování přes funkce Excelu NEPŘÍMÝ.ODKAZ a ODKAZ.
P.

Příklad pro odkaz na A16 a další v řadě (A1 zadat napevno):
=NEPŘÍMÝ.ODKAZ(ODKAZ(ŘÁDEK(A1)*15+1; 1; 4; 1; "List2"); PRAVDA)

Co myslíte tím, že je to "zacyklené"? Kdyby bylo makro skutečně zacyklené, tak se nedokončí, což není váš případ.

Spíše máte na mysli, že makro (resp. událost sešitu) trvá moc dlouho. No, vzhledem k tomu, že tam několikrát sešit zbytečně ukládáte, se není co divit ;-). Příkaz na uložení sešitu stačí mít v tomto případě pouze 1x, klidně hned na začátku události sešitu. Zbylé příkazy tam jsou zbytečné a jenom událost zpomalují.
P.

Obávám se, že toto (smazání obsahu buňky) bez VBA nepůjde.
P.


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 60

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse

Tisk listu černobíle

Stalker • 28.1. 16:30

Tisk listu černobíle

elninoslov • 28.1. 14:50

Tisk listu černobíle

Dita • 28.1. 14:27

ListBox

elninoslov • 28.1. 13:43

Tisk listu černobíle

elninoslov • 28.1. 13:12

ListBox

ji026441 • 28.1. 13:00

Tisk listu černobíle

Dita • 28.1. 10:25