2017-07-27 11 views
2

ここで何をしようとしているかは、列 "g"に空のセルがある場合、同じ行の列Eの値を強調表示します。これまでのところ、カラム "g"に空のセルがあると、行全体が強調表示されます。私はまた、最後の行にハイライトの範囲を設定したい。私はそれをすることができませんでした。私を助けてください。範囲内の同じ行の選択されたセルを強調表示する方法

Sub highlightRow(ByVal comp_workbook As Workbook) 
comp_workbook.Sheets(1).Select 
Dim EmptyCell As Range 
Range("G:G").Select 
For Each EmptyCell In Selection 
    If EmptyCell = "" Then EmptyCell.EntireRow.Interior.ColorIndex = 43 
Next EmptyCell 
End Sub 

答えて

0

Range又はSelectを使用せずにIわずかに異なるアプローチ。私はあなたが何を強調したかったのかかなり理解できませんでした。あなたはそれがより明確にした場合、私は例を調整することができます...

Sub HighlightCells() 
    Dim rowStart As Long 
    Dim rowEnd As Long 
    Dim colToCheck As String 
    Dim colToHighligt As String 

    'Change variablesto fit your requirement 
    rowStart = 1 
    rowEnd = 100 
    colToCheck = "G" 
    colToHighlight = "E" 

    'Highlights cell in column E, if the cell in column G is empty 
    For i = rowStart To rowEnd 
     If IsEmpty(Cells(i, colToCheck)) Then 
       Cells(i, colToHighlight).Interior.ColorIndex = 43 
     End If 
    Next i 

End Sub 
+0

は皆さんに感謝し、あなたは最高です。どうもありがとうございました。 –

1

あなたはこのような何かをしようとする...

Sub HighlightCells(ByVal comp_workbook As Workbook) 
Dim ws As Worksheet 
Dim lr As Long 
Application.ScreenUpdating = False 
Set ws = comp_workbook.Sheets(1) 
lr = ws.UsedRange.Rows.Count 
With ws.Rows(1) 
    .AutoFilter field:=7, Criteria1:="" 
    If ws.Range("E1:E" & lr).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then 
     ws.Range("E2:E" & lr).SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 43 
    End If 
    .AutoFilter 
End With 
Application.ScreenUpdating = True 
End Sub 
関連する問題