< návrat zpět

MS Excel


Téma: Objekt stále na obrazovce rss

Zaslal/a 23.2.2015 14:58

Nevím jak dosáhnout zdánlivě jednoduché věci. Mám dlouhou tabulku (hodně řádků), v pravé části mám textové pole, do něhož si občas zapisuji poznámky. Potřeboval bych, aby textové pole zachovalo svou pozici na obrazovce i při rolování v zobrazení řádek nahoru a dolů. Tj. abych textové pole stále viděl a mohl do něj psát když potřebuji. Jak na to? (do nahoře ukotvených řádků se mi pole nevejde)

Zaslat odpověď >

icon #023820
avatar
Bude potrebné zachytiť udalosti, kedy má dôjsť k prekresleniu textboxu, ako vhodná mi príde Worksheet_SelectionChange.

Do nej potom zakomponovať (prípadne z nej volať) niečo v tvare:Sub RedrawTb()
Dim ShTb As Shape, cell As Range
Set ShTb = ActiveSheet.Shapes("TextBox 1")
Set cell = Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn)
ShTb.Top = cell.Top + 10
ShTb.Left = cell.Left + 10
Set ShTb = Nothing
Set cell = Nothing
End Sub
S konštantnou časťou hodnoty vlastnosti Top a Left je potrebné si pohrať, ja ten textbox dostanem do rohu obrazovky na ntb pri hodnotách

ShTb.Top = Cells(ActiveWindow.ScrollRow, 1).Top + 300
ShTb.Left = Cells(1, ActiveWindow.ScrollColumn).Left + 800

bude záležať asi na rozlíšení a určite na zväčšení súboru. Kód, ktorý by to všetko mal ošetriť (plus situáciu, kedy okno nebude maximalizované atd), by ale musel byť už krapet zložitejší a mám za to, že hore uvedený by mal pre bežné použitie plne postačovať potrebám.citovat
icon #023823
avatar
Ošetrenie veľkosti okna by šlo vyriešiť nasledujúcou modifikáciou predošlého kódu:Sub RedrawTb()
Dim ShTb As Shape, cell As Range
Set ShTb = ActiveSheet.Shapes("TextBox 1")
Set cell = Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn)
ShTb.Top = cell.Top + ActiveWindow.UsableHeight - ShTb.Height - 130
ShTb.Left = cell.Left + ActiveWindow.UsableWidth - ShTb.Width - 50
Set ShTb = Nothing
Set cell = Nothing
End Sub
Takto by to už malo byť skoro dokonalé, si myslím 1citovat

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32

Čas od do

jarek1111 • 18.4. 8:31