J'ai réussi à l'exécuter, mais cela ne fonctionne pas correctement. (Fait intéressant, lors de l'exécution, une seule cellule de ma SheetB spécifiée est remplacée par la police rouge.) Mon hypothèse est que je ne spécifie pas les feuilles et / ou les plages à utiliser aux emplacements appropriés du script, ou que ma syntaxe est la suivante: manifestement tout simplement faux. Merci de votre aide.
Sub RedBold()
'Sets color of current cell to red
With ActiveCell.Font
.Color = -16776961
.TintAndShade = 0
End With
ActiveCell.Font.Bold = True
End Sub
Option Explicit
Sub LowInventory()
Dim cell As Range
Dim deltaQ As Range
'Assign specific cell range in the Inventory Quantities sheet to variable deltaQ
Set deltaQ = Sheets("Inventory Quantities").[E3:E190]
'Conditional loop that checks for low deltaQ values and assigns a color to two specific cell ranges in the Inventory Costs, Sources sheet
For Each cell In deltaQ.Cells
'if deltaQ value is less than 2
If cell.Value < 2 Then
'Specify cell ranges in specific sheet to be affected by low inventory check loop
Sheets("Inventory Costs, Sources").Range("B3:B190, C3:C190").Select
Call RedBold
End If
Next
End Sub
vba
microsoft-excel-2013
macros
Un Fujikawa
la source
la source
ActiveCell
dans votreRedBold
sous est la seule cellule affectée, vous voulez que leRange
soit affecté; vous pouvez le faire de différentes manières, par exemple en passant comme paramètre à laRedBold
fonction ou en agissantRange
directement sur (Sheets("Inventory Costs, Sources").Range("B3:B190, C3:C190").Font = ...
) ..