Dobrej pokec   Lišanská šlapka   MSDN   VB na Microsoft.cz   NCHAT Nový design
   Portál  O firmě  Profil  Reference  Produkty  Odkazy  Diskuse  Tisková verze 



  Novinky e-mailem
Pokud chcete být informováni o změnách ,přihlašte se k odběru novinek!
  
  
  Nejčtenější články
 Seznam všech českých hubů abecedně. (32249)
 Seznam hubů nad 100 uživatelů (20974)
 Konfigurovatelné rozbalovací menu (17594)
 Jak na makra (14423)
 Rozbalovací menu v JavaScriptu (2.) (12797)
  Nejstahovanější soubory
 Action Meter (1846)
 Slovní Fotbal (777)
 IE Boss Guard (484)
 zdroják slovní fotbal (383)
 Folder Watcher (370)
  Anketa

  Nabídka portálu

 Adobe Premiere
    Jak se dá udělat
 Alternativní prohlížeče
    FireFox
 ASP
    Tipy a triky
 Direct Connect
    Huby
    Scripty pro HUB
    Tipy a triky CZDC++
 Game Maker
    Tipy a triky
 Hry
    Akční
    Logické
 HTML
    Scripting (VBS,JS)
    Tipy a triky
 Internet
    Užitečné triky
 Microsoft Office
    Tipy, triky, návody
    Užitečná makra
    VBA Tipy a triky
 MS SQL Server
    Nastavení
    Seriály
    Tipy a triky
 Multimedia
    Návody
 Oracle
    PL/SQL
 PHP
    Jak na to
    Tipy a triky
 Užitečné odkazy
    Grafické programy
    Programátorské
 Visual Basic
    DirectX
    Formuláře
    Jak se dá udělat ...
    Užitečné funkce
    Win32Api
    Zdroje
 Visual Basic .NET
    Užitečné funkce
 Vtípky
    Vtipy a anekdnoty
 Vypalování
    DVD Shrink
    Tipy a triky
 Windows
    Jak se dá ...
    Tipy a triky pro XP
    Triky pro IE


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.




Příspěvky ke článku:



© Swit.cz, Marek Kočí 2003