Új hozzászólás Aktív témák

  • Fferi50

    őstag

    válasz Zola007 #41043 üzenetére

    Szia!

    Ezt az adott munkalap kódlapjára kell bemásolnod:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub
    Dim cmt As Comment
    Application.EnableEvents = False
    Set cmt = Target.Comment
    If Not cmt Is Nothing Then Target.Comment.Delete
    If Target.Value <> "" Then Target.AddComment Target.Value Else Application.EnableEvents = True: Exit Sub
    Set cmt = Target.Comment
    With cmt
    .Visible = True
    .Shape.TextFrame.AutoSize = True
    .Visible = False
    End With
    Application.EnableEvents = True
    End Sub

    Az előző Selection_Change makrót kitörölheted.
    Mit csinál a makró?
    Most az A (első) oszlop celláira működik, ha másik oszlopban vannak az adatok, akkor annak a számát íd be az 1 helyére.
    Amikor megváltoztatod egy cella értékét, akkor azt az értéket beteszi megjegyzésbe is, amit egy kis piros jelölő mutat majd a cella jobb felső sarkában. A megjegyzés úgy viselkedik, ahogyan az elején írtad, ha az egérrel rámutatsz a cellára, a megjegyzés "kibomlik" és addig látható, amíg az egérmutató ott van.
    Viszont ahhoz, hogy a makró szolgáltatását "élvezhesd", egyszer végig kell menned az adott oszlopon "enterekkel", hogy a Change esemény létrejöjjön.
    Ha ezt túl soknak találod, akkor másold be ezt a makrót egy Modul lapra (de az sem nagy baj, ha a munkalap kódlapjára másolod):
    Sub megjegyzes()
    Dim cl As Range, cmt As Comment
    Application.EnableEvents = False
    For Each cl In ActiveSheet.UsedRange.Columns("A").Cells
    Set cmt = cl.Comment
    If Not cmt Is Nothing Then cl.Comment.Delete
    If cl.Value <> "" Then
    cl.AddComment cl.Value
    Set cmt = cl.Comment
    With cmt
    .Visible = True
    .Shape.TextFrame.AutoSize = True
    .Visible = False
    End With
    End If
    Next
    Application.EnableEvents = True
    End Sub

    Ez végigmegy az A oszlopon és felteszi a megjegyzéseket oda, ahol a cellában érték van. Természetesen az A oszlopot változtasd át a neked megfelelőre.

    Tehát először lefuttatod a második makrót - majd az első követi a változásokat az oszlopban.

    Üdv.

Új hozzászólás Aktív témák