• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Opmerking in Excel met macro lettertype aanpassen

Status
Niet open voor verdere reacties.

Logicgold

Gebruiker
Lid geworden
5 feb 2013
Berichten
46
Hallo Excel giganten,

Ik heb onderstaande macro, maar ik krijg het niet voor elkaar om daarin ook het lettertype automatisch aan te passen.
Het gaat hier om lettertype, tekenstijl, punten en kleur.
Het mag alleen in de geselecteerde cel, dus niet in het hele werkblad.
Ik heb onderstaande Macro staan in ThisWorkbook

Code:
Sub Opmerking_Autosize()
Dim rng As Range
Dim WorkRng As Range
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each rng In WorkRng
    If Not rng.Comment Is Nothing Then
        rng.Comment.Shape.TextFrame.AutoSize = True
    End If
Next
End Sub

Gr. Louis
 
Laatst bewerkt door een moderator:
Plaats svp je code tussen codetags. De vraag is niet erg specifiek. Voor het aanpassen van de tekst in een Comment kan je dit als basis gebruiken.
Code:
Sub VenA()
  With ActiveCell.Comment.Shape.TextFrame.Characters.Font
    .Size = 15
    .Bold = True
    .Color = vbGreen
  End With
End Sub
 
Dank je VenA,

Jouw code erbij geplakt en het werkt.
Hiermee kan ik de comment per cel door één klik laten aanpassen.
Het lettertype wordt nu niet meer bold en heeft voor mij de gewenste kleur en de comment krijgt automatisch het formaat voor de hoeveelheid tekst.
Dit is voor mij de uiteindelijke code geworden.

Code:
Sub Opmerking_Autosize()
Dim rng As Range
Dim WorkRng As Range
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each rng In WorkRng
    If Not rng.Comment Is Nothing Then
        rng.Comment.Shape.TextFrame.AutoSize = True
    End If
Next
  With ActiveCell.Comment.Shape.TextFrame.Characters.Font
    .Size = 9
    .Bold = False
    .Color = vbRed
  End With
End Sub
 
Laatst bewerkt door een moderator:
Lijkt mij niet te kloppen en gaat foutmeldingen opleveren. Moet het nu voor verschillende cellen of alleen voor 1 cel? In het laatste geval is
Code:
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
overbodig.

Deze is sowieso overbodig
Code:
Set WorkRng = Application.Selection
 
Code:
Sub M_snb()
  On Error GoTo XL90:
  Application.ScreenUpdating = False
  
  For Each it In Application.InputBox("", "Range", , , , , , 8).SpecialCells(-4144)
    With it.Comment.Shape.TextFrame
      .AutoSize = True
      With .Characters.Font
        .Size = 9
        .Bold = False
        .Color = vbRed
      End With
    End With
  Next
    
XL90:
  Application.ScreenUpdating = True
End Sub
 
Antwoord

@VenA

Vooralsnog werkt de macro goed.
Het gaat om steeds 1 cel.
Als die klaar is hoeft het niet meer aangepast te worden.
Als dat wel gebeurt is de macro volgens mij aan het eind van het jaar veel te lang bezig, omdat het bestand dan uit een paar honderd opmerkingen bestaat.
Ik ga sowieso jouw laatste suggesties ook proberen.
Dank je wel hiervoor.

@snb

Dankjewel voor jouw inbreng.
Ook jouw macro ga ik proberen.

Gr. Louis
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan