< návrat zpět

MS Excel


Téma: zobrazení buňky/sloupce na konkrétní pozici rss

Zaslal/a 3.5.2016 21:45

Ahoj,
mám dotaz k Excelu. Nikde jsem zatím podobný problém nenašel, tak buď je to všem jasné, nebo blbě hledám :)
Mám excelovskou tabulku, v ní kalendář. Viz příloha pro jednoduchou ilustraci. Sloupce jsou dny, řádky hodiny daného dne. Tabulka má křížem ukotvené buňky, resp. ukotvený je sloupec A a řádky 1-3. V buňce A2 se vzorcem počítá hodnota - v příkladu je "čtvrtek". A podle té hodnoty chci "pohnout" neukotvenými buňkami tak, aby sloupec s vybranou hodnotou byl první hned za ukotveným sloupcem A. Tedy aby se vzorcem vybraný sloupec přimknul k ukotvenému sloupci A.
Napadly mě dvě řešení, ani jedno ale nedovedu provést :)
a) nějak posunout tu neukotvenou oblast, aby vybraný sloupec lícoval se sloupcem A; pak budou všechny další sloupce/dny vpravo viditelné taky
b) skrýt všechny ostatní sloupce mimo ten vybraný, takže se automaticky přimkne k tomu ukotvenému A; pak by byl vidět jen sloupec A a ten vybraný, ostatní by byly skryty
Obě varianty jsou pro mě schůdné. Preferuju tu rychlejší a jednodušší. Hledal jsem podmíněné formátování pro šířku sloupců, ale to zdá se nejde. Asi je řešením makro, ale tam se neorientuju. Potřebuji, aby ke změně došlo automaticky při změně hodnoty v buňce se vzorcem (tedy žádné tlačítko). A aby to fungovalo pro libovolný počet sloupců (resp. budu přesně znát první sloupec (B) a počet vyplněných sloupců (může jich být 10, ale taky 100).
Je to tak srozumitelné?
Díky moc.

Příloha: zip31358_kalendar.zip (24kB, staženo 21x)
Jméno
Kontrola
Text
  b i u s img code url hr   1 2 3 4 5 6 7 8 9 10

#031363
Jeza.m
Jenom takovej rychlej pokus :-)

M@
Příloha: zip31363_kalendar.zip (13kB, staženo 24x)
citovat
#031365
avatar
nebo:Application.Goto Cells(x, y), Truecitovat
#031371
avatar
-> Jeza.m: To vypadá slibně, díky moc. Jdu se do toho povrtat.

-> Anonym: Na to jsem moc velká lama. Co s tím, aby to fungovalo? Jak to do sešitu zapracovat?citovat
#031373
avatar
-> Jeza.m
Ještě zvídavý dotaz. Tu první smyčku jsem pochopil. Ale k čemu je

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub

a čím se to volá?citovat
#031375
avatar
např:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Cells(1, 1).Address Then
Application.Goto Cells(4, Target + 1), True
Target.Select
End If
End Sub
citovat
#031376
avatar

Anonym napsal/a:

nebo:Application.Goto Cells(x, y), True

Hezký 1citovat
#031379
avatar
případně:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Cells(1, 1).Address Then
ActiveWindow.ScrollColumn = Target + 1
End If
End Sub
citovat
#031409
Jeza.m
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub

první se volá se změnou obsahu buňky (manuálním, tzn. ne vzorcem)
druhá se volá se změnou výběru na listu.

V tomto případě jsou obě funkce prázdné, tudíž jako by tam ani nebyly :-). Můžeš je smazat :-)

M@citovat
#031494
avatar
Díky moc všem!citovat
#031495
avatar
Ještě dotaz k tomu scrollování. Jak to udělat, aby se to provedlo ne při ruční změně buňky, ale přepočtem vzorce v buňce?citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje