Foxymus
16.12.09,17:45
Prosím Vás o pomoc s makrom. Zaznamenal som si makro ktoré mi vytvorí komentár. Problém je v tom, že keď makro spustím, meno v komentári nie je formátované tučným písmom:

takto by to malo byť - Meno: text komentáru

a takto to je - Meno: text komentáru

Skúsil som vytvoriť ďalšie makro v ktorom som preformátoval Meno na tučné písmo, ale neúspešne.

Poraďte.

Makro som vytvoril záznamom.

Ďakujem za radu.
PaloPa
16.12.09,22:09
Načo riešiť vyriešené :)

Tento (v časti "Insert a Colour Formatted Comment") a mnoho podobných problémov vyriešených tu:
http://www.contextures.com/xlcomments03.html

Palo
Foxymus
16.12.09,22:27
... tomu nerozumiem ... pomohlo by mi keby mi niekto spravil makro ktoré vytvára komentár aký požadujem.

Meno: text komentáru
Foxymus
17.12.09,17:02
a
marjankaj
18.12.09,00:43
... tomu nerozumiem ... pomohlo by mi keby mi niekto spravil makro ktoré vytvára komentár aký požadujem.

Meno: text komentáru

Veď v tom linku od PaloPa to máš vyriešené.

Pozri si súbor, trochu som to upravil.
PaloPa
18.12.09,05:40
Prikladám upravené makro, ktoré si Foxymus odchytil.
Skúsim aj popísať logiku makra:

cmt - objekt komentára príslušnej bunky
dlzka_mena - aby sa dalo s textom manipulovať, treba definovať odkiaľ, pokiaľ. Premenná preto, aby sa dalo použiť, ak bude "meno:" dynamické

cmt.Shape.TextFrame.Characters.Font.Bold = True - celý text hrubé písmo
cmt.Shape.TextFrame.Characters(dlzka_mena, Len(cmt.Text)).Font.Bold = False - časť textu od určitej pozície až po koniec textu - zrušenie hrubého písma


Sub Foxy_Macro()
'
Dim cmt As Comment, dlzka_mena As Integer

Range("A30").AddComment
Range("A30").Comment.Visible = False
Range("A30").Comment.Text Text:="meno:" & Chr(10) & "Text komentáru"

dlzka_mena = Len("meno:")
Set cmt = Range("A30").Comment
With cmt.Shape.TextFrame
.Characters.Font.Bold = True
.Characters(dlzka_mena, Len(cmt.Text)).Font.Bold = False
End With

End Sub

Palo
marjankaj
18.12.09,05:54
Prikladám upravené makro, ktoré si Foxymus odchytil.
Skúsim aj popísať logiku makra:

cmt - objekt komentára príslušnej bunky
dlzka_mena - aby sa dalo s textom manipulovať, treba definovať odkiaľ, pokiaľ. Premenná preto, aby sa dalo použiť, ak bude "meno:" dynamické

cmt.Shape.TextFrame.Characters.Font.Bold = True - celý text hrubé písmo
cmt.Shape.TextFrame.Characters(dlzka_mena, Len(cmt.Text)).Font.Bold = False - časť textu od určitej pozície až po koniec textu - zrušenie hrubého písma


Sub Foxy_Macro()
'
Dim cmt As Comment, dlzka_mena As Integer

Range("A30").AddComment
Range("A30").Comment.Visible = False
Range("A30").Comment.Text Text:="meno:" & Chr(10) & "Text komentáru"

dlzka_mena = Len("meno:")
Set cmt = Range("A30").Comment
With cmt.Shape.TextFrame
.Characters.Font.Bold = True
.Characters(dlzka_mena, Len(cmt.Text)).Font.Bold = False
End With

End Sub

Palo

Pali dobre si to makro vyčistil. Ale pre praktické použitie by asi bolo najlepšie parametrizovať texty ako aj cieľovú bunku. Napríklad na inom liste, aby to neprekážalo. Aby nemusel upravovať stále to makro. Ale neviem ako to chce používať a aj zmysel mi trochu uniká. Ten komentár ide urobiť aj manuálne. Ak by mal zakaždým upravovať manuálne makro, tak tým veľa nezíska.
PaloPa
18.12.09,06:06
V tomto prípade mi to pripadá ako riešenie nejakého školského zadania.

Ale osobne podobný kód používam (len jednoduchý text) pri generovaní faktúr v Exceli, keď sa mi k príslušnému tovaru prenesie automaticky do poznámky sériové číslo tovaru, ktoré sa pri tlači nezobrazí, ale ja ho hneď vidím, keď sa napr. pri reklamáciách vraciam k starým faktúram.

P.
marjankaj
18.12.09,10:13
V tomto prípade mi to pripadá ako riešenie nejakého školského zadania.

Ale osobne podobný kód používam (len jednoduchý text) pri generovaní faktúr v Exceli, keď sa mi k príslušnému tovaru prenesie automaticky do poznámky sériové číslo tovaru, ktoré sa pri tlači nezobrazí, ale ja ho hneď vidím, keď sa napr. pri reklamáciách vraciam k starým faktúram.

P.

Tak toto by dávalo zmysel.
Foxymus
19.12.09,05:55
Podla tejto predlohy som si spravil makro, ktore pracovalo spravne. Akurat som nedokazal docielit aby makro vkladalo 2 rozne komentare do dvoch buniek, tak som si vytvoril 2 makra nakolko som potreboval povkladat komentare do dvoch buniek.

Dakujem za pomoc, usetril som si tym kopu manualnej prace.
PaloPa
19.12.09,09:18
... Akurat som nedokazal docielit aby makro vkladalo 2 rozne komentare do dvoch buniek...

Stačí vložiť do cyklu:

Sub Foxy_Macro()
'
Dim cmt As Comment, dlzka_mena As Integer
Dim xMeno, xAdresa, xText
Dim aMeno, aAdresa, aText
Dim i As Integer

xMeno = "Jano:;Rudo:;Fero:": aMeno = Split(xMeno, ";")
xAdresa = "A10;A11;A12": aAdresa = Split(xAdresa, ";")
xText = "Text komentáru 1;Text komentáru 2;Text komentáru 3": aText = Split(xText, ";")

For i = 0 To 2
Range(aAdresa(i)).ClearComments

Range(aAdresa(i)).AddComment
Range(aAdresa(i)).Comment.Visible = False
Range(aAdresa(i)).Comment.Text Text:=aMeno(i) & Chr(10) & aText(i)

dlzka_mena = Len(aMeno(i))
Set cmt = Range(aAdresa(i)).Comment
With cmt.Shape.TextFrame
.Characters.Font.Bold = True
.Characters(dlzka_mena + 1, Len(cmt.Text)).Font.Bold = False
End With
Next i

End Sub

Palo