• 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.

Macro uitvoeren op geselecteerd veld

Status
Niet open voor verdere reacties.

roseb12

Gebruiker
Lid geworden
21 sep 2017
Berichten
34
Ik heb een sheet waarbij wij onze dagelijkse planning bijhouden.
Ik heb een macro gemaakt (CTRL-S) waarbij mijn naam in een veld komt te staan.
De macro zet mijn naam neer met een bepaalde kleur en de eerste cel eronder heeft alleen Bold als opmaak, de velden daaronder hebben dan geen opmaak.
Nu mag CTRL-S de volledige macro uitvoeren in een geselecteerd veld (B3:M38) maar in N4:O38 mag alleen de naam met CTRL-S neergezet worden. Dus verder geen opmaak.
Want de gele velden daaronder moeten blijven.

Kan ik in de macro bepalen?
 

Bijlagen

Maak er dit van:
Code:
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Ron"
[COLOR="#FF0000"]If ActiveCell.Column = 14 Then Exit Sub[/COLOR]
 
Laatst bewerkt:
Ik ben iets te voorbarig geweest..

Code:
Sub Ron()
'
' Macro6 Macro
' De macro is opgenomen op 12-3-2006 door Ron
'

'
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Ron"
    With ActiveCell.Characters(Start:=1, Length:=6).Font
        .Name = "Arial"
        .FontStyle = "Vet"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    
    With Selection.Interior
        .ColorIndex = 8
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    
    If ActiveCell.Column <> 14 Then
    ActiveCell.Offset(1, 0).Range("A1:A5").Select
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End If

ActiveCell.Offset(0, 0).Select
End Sub

Waar moet de nieuwe dan worden ingevoegd?
 
Hierzo:
Code:
Sub Ron()
'
' Macro6 Macro
' De macro is opgenomen op 12-3-2006 door Ron
'

'
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Ron"
    [COLOR="#FF0000"]If ActiveCell.Column = 14 Then Exit Sub[/COLOR]
    With ActiveCell.Characters(Start:=1, Length:=6).Font
        .Name = "Arial"
        .FontStyle = "Vet"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    
    With Selection.Interior
        .ColorIndex = 8
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    
    If ActiveCell.Column <> 14 Then
    ActiveCell.Offset(1, 0).Range("A1:A5").Select
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End If

ActiveCell.Offset(0, 0).Select
End Sub
 
Als ik jouw wijziging doorvoer, dan word mijn naam in gele letters weergegeven op een blanco achtergrond ipv zwarte letters op een lichtblauwe achtergrond...

En de ActiveCell in range N4:O38 springt een veld omhoog bij CTRL-S. Hoe blijf ik in het invoerveld? ActiveCell.Offset(-1, 0).Select verschilt daarin.
 
Laatst bewerkt:
Doet het hier in je eigen voorbeeld document prima.
Maar als je die blauwe achtergrond wilt houden moet je de vorige gebruiken.
 
Ik heb het zelf al gevonden!
Code:
    If ActiveCell.Column <> 14 Then
    ActiveCell.Offset(1, 0).Range("A1:A5").Select
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    [COLOR="#FF0000"]ActiveCell.Offset(-1, 0).Select[/COLOR]
End If

End Sub

Nogmaals bedankt voor je hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan