< návrat zpět

MS Excel


Téma: Skryt komentar rss

Zaslal/a 7.10.2011 23:14

Je mozne vo VBA na zaklade hodnoty bunky skryt komentar (nemozno ho precitat, ani vidiet jeho znak)? Napr. ak A1=1, potom skry komentar v C1, ak A1=0, zobraz komentar v C1.
1. Hodnota v A1 sa meni cez prepinac
2. Hodnota do A1 sa vklada manualne z klavesnice
Dakujem

Zaslat odpověď >

Strana:  1 2   další »
#006119
avatar
Ahoj,možná ti pomůže tento příklad:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 1 Then
Application.DisplayCommentIndicator = xlNoIndicator
Else
If Range("A1") = 2 Then
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
End If
End If
End Subcitovat
#006124
avatar
Dakujem za odpoved, ale uvedeny subor neriesi to, aby som dokazal urobit tuto operaciu na jednej bunke, bud na aktivnom liste, alebo na inom liste.
Subor skryje/zobrazi vsetky komentare v aplikacii, na vsetkych listoch a bunkach.
Da sa vobec moja poziadavka riesit vo VBA?
Dakujemcitovat
#006126
Jeza.m
Co takhle na základě hodnoty v buňce A1 buď komentář vytvořit nebo smazat?citovat
#006130
avatar
Bolo by to dobré riešenie, ale neviem ako na to. Kde uviesť text, ako zväčšit rozmer okna pre komentár, zalomiť text a samozrejme komentár umiestniť do danej buňky? Ak pomôžete, rád sa to naučím. Zatial som toho moc nevygoogloval.
Dakujemcitovat
icon #006132
Poki
Mozna by to slo takto: Kdyz bude A1 = 0; tak se komentar zobrazi, kdyz bude A1 rovna jakekoliv jine hodnote, tak tam komentar nebude (funguje to na Seznam overeni dat i prepsani na klavesnici) - jen je dulezite definovat, jak ma vypadat ten komentar, zatim je jen napsan v tom kodu...
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" And Len(Target.Value) > 0 Then
On Error Resume Next
Koment = Range("c1").Comment.Text
If Err.Number = 91 Then
Else
Range("c1").Comment.Delete
End If

On Error GoTo 0

If Target.Value = 0 Then
With Range("c1")
.AddComment "Tohle je komentar pri A1 = 0"
.Comment.Shape.Select
End With
Selection.AutoSize = True
Target.Select
End If
End If

End Sub
citovat
#006134
avatar
Ďakujem Poki za riešenie. Vyhadzuje to však nasledujúcu chybu:
Run-time error '-2147467259(80004005)'
Method 'Select' of object 'Shape' failed
Ak A1>0, komentar sa vymaže.
Ak A1=0, vyhodí to uvedenu chybu, komentár z kódu sa vloží do bunky C1 a program zastane na riadku
.Comment.Shape.Select
Co sa tyka komentára, moze by v kóde makra, avšak jeho dĺžka je väčšia ako je rozmer zobrazovaného okienka komentára. Bolo by treba zmeniť veľkosť okna, aby sa komentár dal prečítať. Asi to rieši kód
Selection.AutoSize = True, ibaže program tam pre chybu nedorazí.citovat
icon #006135
Poki
zvlastni, mne to funguje - jakou mas verzi Excelu? (ja 2007)citovat
#006137
avatar
Mám 2007
V prilohe - Do A1 vkladam 0 alebo 1, v C1 vysledok
Příloha: rar6137_sesit1.rar (14kB, staženo 16x)
citovat
icon #006138
Poki
Zkusil jsem tvuj sesit - funguje mi to dobre, bez chyby, tak nevim, v cem muze byt problem... 3citovat
#006141
avatar
Skúsil som to aj s 2003, dáva to rovnakú chybu.
Ak som v obidvoch verziách vyhodil On Error GoTo 0, tak chyba sa prestala objavovať,avšak celý komentár sa mi nevmestí do okna - ako keby nefungovalo Selection.AutoSize = True. Pritom pri krokovaní programu -cez F8, to prechádza aj cez Autosize, ale okno neprispôsobí.citovat

Strana:  1 2   další »

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