Myslel jsem trochu něco jiného. Aby se text zobrazil např. na pozici aktualního řádku. Nyní se zobrazí dle zadaných souřadnic, takže pokud mám obrazovku na řádku 500 tak to není vidět.
User form asi bude nejlepší. Jak se do něho vloží ty "blbosti" jak uvádí Koci.
Díky moc, to jsem potřeboval
Narazil jsem na možnost použití vlastnosti Areas, kterou by to šlo asi taky, ale tvůj kod vypadá jednodušeji. Ještě jednou díky
Vyberou se 4 řádky, ručně pomocí myši a hodnoty určitých buněk se přiřazují do dvourozměrného pole. Data z pole se pak používaji pro editaci atributů bloků ve výkresu AutoCad.
Jak uvádím v kodu výše, procházím každý řádek a zapisuji do pole. Pokud jsou vybrány řádky za sebou, tak to funguje s použitím přiřazení k objektu pomocí Selection. Potřebuji ale také vybírat řádky napřeskáčku a pak tento kod nefunguje, resp. použije se pouze první řádek výběru.
pls, ví někdo ???
No měl jsem na mysli trochu něco jiného. Potřebuji přiřadit vždy hodnotu buňky v řádku ve vybrané oblasti.
Nyní to mám:
Dim Vst As Object
Dim Data(1 To 4, 1 To 30) As String
set Vst = selection
For i = 1 To Vst.Rows.Count
Data(i, 1) = Vst(i, 1)
Data(i, 2) = Vst(i, 2)
Data(i, 3) = Vst(i, 11
....
Next i
Pokud vyberu 4 řádky za sebou, funguje to perfektně. Ale pokud nejsou za sebou, tak ne.
Potřebuji získat pomocí VBA přístup ke všem vybraným řádkům, resp. k buňkám, které mají nespojenou oblast.
Příklad- na listu ručně vyberu celé řádky 2, 4, 7, 10 a ty potřebuji procházet po jednotlivých buňkach (v každém řádku cca 25) a získat jejich hodnotu.
Ve spojité oblasti to mám vyřešené pomocí Selection, ale nevím jak na tu nespojitou
správná ikona se jmenuje "příkazové tlačítko". Pokud si dáš na panelech nástrojů pravé tl. myši a zvolíš "Ovládací prvky", tak tam to tlačítko je. Automaticky se zobrazí název tlačítka CommandButton1. Ve vlastnostech měníš co chceš. Dále je to stejné jako na UserForm.
To tlačítko musí být vytvořeno pomocí menu "ovládací prvky" a né pomocí "formuláře". Teď jsem to zkoušel a funguje to.
Díky za reakce. Chtěl jsem univerzální proceduru, abych nemusel ručně měnit parametry.
Pro info:
V excelu mám pomocí ovládacích prvků vytvořené příkazové tlačítko a bez problému mu měním barvu pomocí vba (viz kod výše tlačítko).
1. asi jsem to blbě napsal. Potřebuji odkaz na aktuální sloupec pomocí písmena a ne pomocí čísla sloupce, aby jsem mohl použít v msgbox srozumitelnější hlašení pro uživatele.
2. při stisku tlačítka volám jinou proceduru, která mění barvu tlačítek a jako parametr chci použit název tlačitka
Sub tl_Nazev_Click()
mujFiltr 1, tl_Nazev
End Sub
Sub mujFiltr(strSloupec As Integer, Tlacitko As Object)
Tlacitko.BackColor = &H80000003
End Sub
je to jen příklad. Místo parametru tl_Nazev použit odkaz na název procedury tl_Nazev.
Prosím o radu,
lze získat označení sloupce aktivní buňky pomocí písmena. Nemyslím tím přiřazení k číslu sloupce jako 1=A 2=B ...
A druhý dotaz, lze do proměné přiřadit název procedury?
Opravdu nikdo nezná řešení? Nebo alespoň jak to obejít?
přikládám soubor, z kterého to bude jasné.
Pokud stojím na bunce ve sloupci a stisknu tlačítko, dojde ke špatnému filtrování,
Formát má bunka "0.00". Nevím jak to myslíš s tím přeformátováním? To jako sloupec, který filtruju?
Vyskytl se ještě jeden problém. Na celá čísla to funguje perfekt. Pokud mám buňku formátovanou na dvě desetinná místa a hodnota je např. 6,00, tak filtr nezobrazí nic, resp. zobrazí buňky kde je číslo 6 s formátem bez desetinných míst.
Sub CommandButton1_Click()
Dim cislo As Single
cislo = ActiveCell
Selection.AutoFilter Field:=1, Criteria1:=cislo
End Sub
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.