Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Komentáře v MS Excel 2000 |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 17.1.2003
| Publikováno: 17.1.2003
| Čtenářů: 3520
| Unikátních: 3419
|
Jak si zjednodušit práci s komentováním buněk v Excelu, velice jednoduše tímto makrem.
Co vlastně mám na mysli, pokud mluvím o zjednodušení?
Takže například na dvojklik myší na určené skupině buněk, se zobrazí dialogové okno pro vložení komentáře po jeho potvrzení může nastat několik možností.
a) Uživatel vyplnil text
Do buňky se vytvoří komentář se zadaným textem a text buňky se zaškrtne použil jsem písmeno "x".(Snadno si upravíte například na text atd.)
a) Uživatel nevyplnil, nebo smazal text
V buňce se smaže komentář a text buňky se vynuluje.
a) Uživatel vložil text, který obsahuje odřádkování
Do buňky se vytvoří komentář se zadaným textem a text buňky se zaškrtne.Text se upraví funkcí FormatCommentText, protože komentáře místo dvojznaku CRLF používají jen
CR.
Ptáte se proč jsem tento nesmyslný kód vůbec psal?Dohnala mě k tomu nutnost, protože v rozsáhlém scheetu jsme nutně potřebovali vkládat poznámky, a ty se nám tam samozřejmě nevešly.Proto jsme zvolili jen úzký sloupec, a pokud je poznámka vložena, indikuje jí zaškrtnutí písmenem X.Čtenář si potom nad toto políčko najede myší a ve formě komentáře se mu zobrazí celá poznámka.
Lze samozřejmě použít i UserForm (místo InputBox) a upravit si ho k obrazu svému.
A na závěr zdrojový kód:
Tento kód zkopírujte ve VBA (Visual Basic for Application) do objektu List a pro tento list se stává makro funkční.
VBA spustíte zkratkou ALT+F11.
Objekt list je označen jako List1 až ListX a jako ikonku má dokument s mřížkou.
V makru je omezeno hlídání dvojkliku na sloupec 2 a řádky 2 až 5.Podle komentáře zdroje snadno najdete a upravte podle svého.
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, _
Cancel As Boolean)
Dim strComment As String
'Podminka pro sloupec 2 a radky 2 az 5
If Target.Column = 2 And _
Target.Row >= 2 And _
Target.Row <= 5 Then
'osetreni zda komentar existuje
On Error Resume Next
Err.Clear
strComment = FormatCommentText(Target.Comment.Text)
If Err.Number <> 0 Then
Err.Clear
'pokud ne pridat
Target.AddComment
End If
'Zeptej se na text komentare
strComment = InputBox("Vložte text komentáře", _
"Úprava komentáře", _
strComment)
'Vloz komentar do excelu
Target.Comment.Text FormatCommentText(strComment)
If Len(strComment) > 0 Then
'je li text oznac bunku s komentarem
Target.Value = "X"
Else
'text neni smaz komentar
Target.ClearComments
Target.Value = ""
End If
End If
End Sub
Function FormatCommentText _
(ByVal sText As String) _
As String
'V pripade odradkovanych formularu
'upravuje zdroj pro textbox
If InStr(1, sText, vbNewLine) Then
sText = Replace(sText, vbNewLine, Chr(10))
Else
sText = Replace(sText, Chr(10), vbNewLine)
End If
FormatCommentText = sText
End Function
Doufám, že i Vám toto makro pomůže řešit problémy, s místem, tak jako nám.
|