VBA code leerboek geeftr foutmelding

Status
Niet open voor verdere reacties.

gelens

Terugkerende gebruiker
Lid geworden
4 dec 2009
Berichten
1.116
Beste VBA ers

Om mijn VBA kennis op te vijzelen ben ik een studieboek aan het doorworstelen. ( Excel 2007 VBA officieel handboek van Microsoft )
Helaas bevat dit boek nogal wat fouten. Klinkt misschien wat vreemd van een beginner maar ook de bijgeleverde CD bevat macro's die fout lopen.
Code:
myrange.specialcells(xlcelltypeconstants, xlnumbers).style = "Input"
Deze tekst heb ik letterlijk overgenomen uit het boek maar helaas loop ik daar tegen de volgende foutmelding aan.
Fout 450 tijdens uitvoering: Onjuist aantal argumenten of ongeldige eigenschappentoewijzing.

Wie kan mij hier helpen ?
 
Heb je gecontroleerd of er een opmaakstijl is met de naam 'input' ?
 
SNB

Hieronder de macro zoals bijgeleverd op de CD. Ik probeer deze aan de hand van de aanwijzingen te maken. Helaas loopt ook de originele macro vast. Helaas geen typefout mijnerzijds.

Code:
Sub KleurenToevoegen()
    Dim myRange As Range
    Set myRange = Range("B2").CurrentRegion
    
    myRange.Interior.Color = rgbMediumVioletRed
    myRange.Interior.TintAndShade = -0.2
    myRange.SpecialCells(xlCellTypeFormulas).Interior.TintAndShade = 0.3
    
    myRange.SpecialCells(xlCellTypeConstants, xlNumbers).Style = "Input"
    ActiveWorkbook.Styles("Input").Interior.Color = rgbMediumVioletRed
    ActiveWorkbook.Styles("Input").Interior.TintAndShade = 0.5
    Cells.SpecialCells(xlCellTypeConstants, xlNumbers).Style = "Input"
    
    myRange.SpecialCells(xlCellTypeConstants, xlTextValues).Font.Color = rgbWhite
    myRange.SpecialCells(xlCellTypeConstants).Font.Bold = True
End Sub

Ik kan geen opmaakstijl "Input" vinden. Maar daar wordt in het boek ook niet over gesproken. Kan jij aangeven waar ik dit kan controleren ? Voor de zekerheid ook maar het werkbestand bijgevoegd. Maakt misschien iets meer duidelijk.
 
Een kwestie van volgorde van een aantal regels:
maar ik verwacht ook een regel: ActiveWorkbook.Styles.Add "Input"
Code:
Sub KleurenToevoegen()
    Dim myRange As Range
    Set myRange = Range("B2").CurrentRegion
    
    myRange.Interior.Color = rgbMediumVioletRed
    myRange.Interior.TintAndShade = -0.2
    myRange.SpecialCells(xlCellTypeFormulas).Interior.TintAndShade = 0.3

[COLOR="Blue"]    ActiveWorkbook.Styles("Input").Interior.Color = rgbMediumVioletRed
    ActiveWorkbook.Styles("Input").Interior.TintAndShade = 0.5[/COLOR]    
    myRange.SpecialCells(xlCellTypeConstants, xlNumbers).Style = "Input"
     Cells.SpecialCells(xlCellTypeConstants, xlNumbers).Style = "Input"
    
    myRange.SpecialCells(xlCellTypeConstants, xlTextValues).Font.Color = rgbWhite
    myRange.SpecialCells(xlCellTypeConstants).Font.Bold = True
End Sub
Ik zou het zo doen:
Code:
Sub KleurenToevoegen()
  With ActiveWorkbook
     With .Styles("Input").Interior
      .Color = rgbMediumVioletRed
      .TintAndShade = 0.5
     End With

    .Cells.SpecialCells(2, xlNumbers).Style = "Input"

     With .Range("B2").CurrentRegion
        With .Interior
           .Color = rgbMediumVioletRed
           .TintAndShade = -0.2
        End With
        .SpecialCells(xlCellTypeFormulas).Interior.TintAndShade = 0.3
[COLOR="blue"]        .SpecialCells(2, xlNumbers).Style = "Input"[/COLOR]
        .SpecialCells(2, xlTextValues).Font.Color = rgbWhite
        .SpecialCells(2).Font.Bold = True
      End With
  End With
End Sub
Mij lijkt de blauw gemarkeerde regel overbodig, omdat alle cellen met die eigenschap al die stijl hebben gekregen.
 
Laatst bewerkt:
SNB

Ik volg slechts het boek.:confused:
Maar van meerdere kanten heb ik gehoord dat het niet foutloos is.
Ik ga het proberen.

Bedankt voor de moeite.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan